Mysql запрос '=' работает некорректно
Всем привет. Я делаю такой запрос к бд mysql:
$buy_info = mysqli_query($mysqli, "SELECT DISTINCT `user_name`, `price`, `size`, `link`, `pay`, `limit_min`, `limit_max`, `time`, `color`
FROM `RUB`
WHERE
price = (
SELECT MIN(`price`)
FROM `dress`
WHERE `color` LIKE '%blue%'
AND `size` = '52'
AND `limit_min` = 40000"
)
То есть хочу вывести только значения, в которых колонка limit_min равна 40000. Но вместо этого мне просто выводятся все значения, игнорируя это условие. НО. Если я введу значение 35000, которого вообще нет в таблице, то не выведется абсолютно ничего. То есть это условие есть и скрипт его видит, но почему-то работает неверно.
Вывожу в php через цикл
while ($pay_buy = mysqli_fetch_assoc($buy_info)) {
echo $pay_buy['user_name'];
echo " >>> ";
echo $pay_buy['price'];
echo "<br>";
}
Ответы (1 шт):
Автор решения: Владимир Клыков
→ Ссылка
Если я верно понял что вам выводит запрос, и что нужно то примерно так:
SELECT DISTINCT
`user_name`,
`price`,
`size`,
`link`,
`pay`,
`limit_min`,
`limit_max`,
`time`,
`color`
FROM
`RUB`
WHERE
`limit_min` = 40000 /*фильтр нужно писать не в подзапросе*/
AND price = (
SELECT
MIN(`price`)
FROM
`dress`
WHERE
`color` LIKE '%blue%'
AND `size` = '52'
)