Нужна помощь?Использование «ГДЕ» дважды с (случайным) MySQL
Это работает
$sql = "
SELECT * FROM
(SELECT * FROM $TableDir
WHERE dir_ranking = '1'
ORDER BY RAND() LIMIT 16)
x ORDER BY dir_date_listed ASC";
Он выбирает случайным образом из "$ TableDir", где рейтинг = 1 и пределы 16 записей
Но мне нужно, чтобы отфильтровать другой вариант. Мне нужно фильтровать "dir_approved = Y"
, а я попробовал этот
$sql = "
SELECT * FROM
(SELECT * FROM $TableDir
WHERE dir_ranking = '1'
ORDER BY RAND() LIMIT 16)
WHERE dir_approved = 'Y' x
ORDER BY dir_date_listed ASC";
И это
$sql = "
SELECT * FROM
(SELECT * FROM $TableDir
WHERE dir_ranking = '1' AND WHERE dir_approved = 'Y'
ORDER BY RAND() LIMIT 16)
x ORDER BY dir_date_listed ASC";
Ни один из последних двух выше в результате каких-либо данных
Есть ли другая последовательность или способ, чтобы получить это работающих
Спасибо! оно работает ! не знаю почему я сделал это так! Я думаю, из-за (случайного), хотя я должен был повторить ГДЕ! – Cavemanharris
Без проблем! Также мои извинения, я также заметил, что вы положили свой первый «WHERE» на внешний вид вашего подзапроса. Если '' WHERE' применяется к подзапросу, тогда это должно быть 'SELECT (yourColumns WHERE condition', тогда как ваш был' SELECT (yourColumns) WHERE condition' – Eilidh