У меня есть три таблицыВыбрать все строки из таблицы с указанием существования в другой таблице с помощью MySQL Query
Table a
+-----+-------+
| aid | value |
+-----+-------+
| 1 | A |
| 2 | B |
| 3 | C |
| 4 | D |
+-----+-------+
Table b
+-----+------+
| bid | name |
+-----+------+
| 1 | A |
| 2 | B |
| 3 | C |
+-----+------+
Table ba (mapping of table a and table b)
+-----+-----+
| bid | aid |
+-----+-----+
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 3 | 2 |
| 1 | 3 |
| 2 | 3 |
| 2 | 4 |
+-----+-----+
Из этих таблиц я хочу запрос как
SELECT aid, mapped('true'-if(aid exist in ba) 'false'-otherwise)
FROM a
JOIN b
JOIN ba
WHERE bid=1
, чтобы получить результат откуда я могу сгенерировать список
Сейчас я создаю список в цикле while для всей строки s таблицы 'a' и внутри цикла выполняется запрос для каждой итерации, чтобы проверить существование в таблице 'ba'.
Это не будет работать. –
@TimBiegeleisen он наверняка делает. – smozgur
Нет, это не так. Вы ссылаетесь на 'ba.bid', даже не упоминая эту таблицу в своем запросе. –