SQL-запрос: нужна помощь по подзапросу - PullRequest
0 голосов
/ 24 ноября 2011

Вопрос заключается в следующем:

Есть две связанные таблицы (я даю несколько примеров значений для упрощения):

Circuit
--------
id    name
1      a
2      b
3      c

Circuit_Dependent
-----------------
id    depend_id
1     2
1     3

таблицы связаны, а вторая таблица сообщает об отношениис идентификаторами каналов.
Ситуация - запрос, необходимый для:
1) перечисления имени канала, для которого ожидается ожидаемый выходной сигнал circuit_dependency:

name   dependent_name
a      b
a      c

2) списка имени канала и количества (нетзависимости)
ожидаемый результат:

name   count
a      2

благодарю за помощь.

1 Ответ

1 голос
/ 24 ноября 2011

Первый запрос может быть:

SELECT c1.`name`, c2.`name`
FROM Circuit_Dependent cd INNER JOIN Circuit c1 
    ON cd.id = c1.id    
INNER JOIN Circuit c2 
    ON cd.depend_id = c2.id

Второй запрос может быть таким:

SELECT c.`name`, COUNT(DISTINCT cd.depend_id) AS count 
FROM circuit c INNER JOIN Circuit_Dependent cd
    ON c.id = cd.id
GROUP BY c.id
...