Этот запрос для меня сложный. Первый случай работает. Я попытался добавить второй случай; однако, не может заставить его работать. Требуется ли более 1 случая при рассмотрении дела? Я вообще делаю второй случай?Можете ли вы использовать более одного случая в запросе MySQLi?
Единственная причина, почему я нужен второй случай, потому что, когда table1.data_lock = 0
, нет table2.id
, что равно 0. Я только хочу, чтобы включить table2 IF table1.data_lock != 0
Там может быть лучший способ сделать это.
SELECT table1.id, table1.draft_sectionid, table1.page_columnid, table1.sortid,
(case
when table1.data_lock = 0 then table1.data
when table1.data_lock != 0 then table2.data
end) as data,
table1.style
FROM table1
(case
when table1.data_lock != 0 then JOIN table2 ON table1.data_lock=table2.id
end)
WHERE table1.draft_sectionid = " . $section['id'] . " ORDER BY table1.sortid ASC LIMIT " . $section['columns']) or die ('Unable to execute query. '. mysqli_error($connection));
Я думаю, вы можете использовать только аргументы в ЗЕЬЕСТЕ, а не после FROM – superB
да. Я думаю, что вы правы superB – KDJ