SQL查询:在子查询
问题描述:
问题需要帮助如下:SQL查询:在子查询
有2个相关的表(我提供了一些样本值使它简化):
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
感谢帮助。
答
首先查询可以是:
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
如果这是一个家庭作业,请添加相应的标记 – sll
这是问的面试问题之一。 – user1062837
我希望你在这里没有使用答案来面试 - 看起来很尴尬。 –