【发布时间】:2019-10-18 16:12:32
【问题描述】:
我有两张桌子。
- 项目表
- 项目关系表
项目表包含所有项目 ID 和名称
Id:1, name:project1
Id:2, name:project2
Id:3, name:project3
Id:4, name:project4
Id:5, name:project5
Id:6, name:project6
项目关系表包含所有项目之间的父子关系。
parent:1, child:2
parent:1, child:3
parent:4, child:5
这里的 parent 和 child 指的是项目 ID。我想要一个连接查询来获取唯一父项目的列表以及他们的子项目计数。
这样
Id:1, name:project1, count:2
Id:4, name:project4, count:1
Id:6, name:project6, count:0
【问题讨论】:
-
现在您只是要求我们用定制的教程重写您的教科书并完成您的(家庭)作业,而您没有表现出任何研究或其他努力。需求转储不是主题问题。请参阅How to Ask,点击谷歌搜索“stackexchange 作业”和投票箭头鼠标悬停文本。按照教科书的理由展示您的工作步骤,并在您遇到困难的地方进行解释。此外,这是一个很容易用谷歌搜索的常见问题解答。
-
嗨@philipxy 并不是我没有尝试过这样做。我自己尝试过这样做,但遇到了两种情况,即我通过 child_id 加入并选择空子 ID。我会得到主项目而不是子项目计数,如果我通过 parent_id 加入,那么 cont 会在那里,但我不想要的孩子也会在那里。然后我想进行两次连接,但这会导致性能问题。如果你觉得它可以很容易地用谷歌搜索,请在下一条评论中与我分享链接。提前致谢
-
请通过编辑而非 cmets 进行澄清。请在代码问题中给出minimal reproducible example--cut & paste & runnable code;具有期望和实际输出(包括逐字错误消息)的示例输入(作为初始化代码);标签和版本;明确的规范和解释。这包括您可以提供的最少代码,即您显示的代码可以通过您显示的代码扩展为不正常。 (调试基础。)对于包含 DBMS/产品和 DDL 的 SQL,其中包括约束和索引以及表格格式的初始化。展示你能做的任何相关部分。