Как выбрать список идентификаторов из другой таблицы и использовать его в качестве столбца в select в SQL [duplicate]

0

Хорошо, поэтому у меня есть две таблицы со многими столбцами, но для иллюстрации я имею a и b:

a:           b:   
+---+-----+  +---+------+-----+
|id |name |  |id | a_id |size |
+---+-----+  +---+------+-----+

Я хочу, чтобы SELECT * FROM a а затем для каждого a' в a Я хочу SELECT id FROM b WHERE a_id = a'.id. Но могу ли я создать один курьер, чтобы результаты стали:

ab:
+---+-----+--------------------------------+ 
|id |name | b_idx_1, b_idx_2, ... b_idx_n  |
+---+-----+--------------------------------+ 

Я попытался: SELECT id, name, (SELECT id FROM b WHERE b.a_id = a.id) FROM a WHERE a.name LIKE 'Random Name' Но затем я получаю сообщение об ошибке, при этом подзапрос возвращает более одной строки,

  • 0
    Isnt это , где join используется вместо этого?
  • 0
    hint:join query
Показать ещё 1 комментарий
Теги:

2 ответа

1
SELECT a.id, a.name, GROUP_CONCAT(b.id) 
FROM a
INNER JOIN b
ON b.a_id = a.id
WHERE a.name LIKE 'Random Name'
  • 0
    В запросе отсутствует ON и не могли бы вы объяснить, как он работает? Тогда я приму этот ответ :)
0

попробуйте этот join query

select a.id,a.name,b.* from a join b on a.id=b.a_id

Ещё вопросы

Сообщество Overcoder
Наверх
Меню