SQL查询:需要有关子查询的帮助

时间:2011-11-23 21:59:55

标签: sql database join subquery

问题如下:

有两个相关的表格(我给出了一些简化的样本值):

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

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

表格是相关的,第二个表格表示与电路ID的关系 需要查询情况:
1)列出具有circuit_dependency的电路名称 输出预期:

name   dependent_name
a      b
a      c

2)列出电路名称和计数(不依赖) 输出预期:

name   count
a      2

感谢帮助。

1 个答案:

答案 0 :(得分:1)

首先查询可能是:

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