как объединить результат одного запроса Mysql (sub), который возвращает несколько строк, и использовать его для другого запроса - PullRequest
1 голос
/ 22 июля 2010

У меня есть две таблицы, одна из которых хранит серийный номер uut_build , а другая - для измерений, принадлежащих серийным номерам measure_list . measure_list , который принадлежит уникальному серийному номеру.
Запрос № 1

select id, uut_sn from uut_build where uut_sn like 'A%';

Запрос № 2

select count(*) from measure_list as m WHERE m.uut_id = [result from query #1]

Возможно ли сделать это только одним оператором запроса?

Заранее спасибо!

1 Ответ

2 голосов
/ 22 июля 2010

Использование:

   SELECT ub.uut_sn,
          COALESCE(COUNT(ml.*), 0) AS cnt
     FROM UUT_BUILD ub
LEFT JOIN MEASURE_LIST ml ON ml.uut_id = ub.uut_sn
    WHERE ub.uut_sn LIKE 'A%'
 GROUP BY ub.uut_sn

Немного неясно, какие столбцы связывают две таблицы ...

Это вернет все серийные номера - если у них нет записи в MEASURE_LIST, значение cnt будет равно нулю.Если вам нужен только список записей с записями в MEASURE_LIST, удалите «ВЛЕВО» из предоставленного мною запроса.

...