Учитывая следующие 2 таблицы
table_a
id name num_one num_two
------------------------------------
1 Foo 5 10
2 Bar 4 -1
table_b
name table_a_id
--------------------
Fooa 1
Foob 1
Предположим, я хочу использовать ether num_one или num_two в предложении where в зависимости от того, присоединилась ли другая таблица к строкам или нет.Я могу придумать вот что:
SELECT a.* FROM table_a a
JOIN table_b b on b.table_a_id = a.id
WHERE if(count(b.*) > 0, a.num_one, a.num_two) > 0
group by a.id
В идеале было бы проверено, если 5> 0 в первой строке и -1> 0 во 2-й, потому что 2-я строка не объединяет строки таблицы B.
Но это ошибки с неправильным использованием group by.Я знаю о «наличии», но не знаю, как я мог бы использовать его в этой ситуации.
Есть идеи?Спасибо !!