У меня есть запрос с объединением таблицы, содержащей различные столбцы true / false.
Я могу принудительно использовать DISTINCT & GROUP BY, чтобы гарантировать, что будет возвращена только одна уникальная строка, однако строки true / false не ведут себя предсказуемо, пример:
**Table 1**
loc_id name
-------------
1 a
2 b
3 c
4 d
**Table 2**
prod_id loc_id value
-------------
1 1 abc
2 1 bcd
3 1 def
4 2 fgh
**Table 3**
prod_id flag
-------------
1 0
2 0
3 1
4 1
SELECT DISTINCT name, flag from table1
LEFT JOIN table3 ON table3.prod_id = table2.prod_id
LEFT JOIN table2.loc_id=table1.loc_id
Это дает мне строки, содержащие список имен loc. Однако иногда столбец флага возвращает несколько строк, и я хотел бы объединить эти строки так, чтобы, если их было больше одной, и они содержали как 0, так и 1, запрос вернул бы только одну строку с флагом, установленным в 1. Если несколько строки содержат 0, он вернет 0 для этой строки ...
Я попытался использовать имя GROUP BY, которое возвращает уникальные строки назад, однако я заметил, что для дублирующихся строк, имеющих как 0, так и 1 в столбце флага, он вернет 0?
Любая помощь приветствуется