我不是超级有经验的SQL,所以这可能是一个非常简单的解决方案。但是,我遇到了很多麻烦。我不能想出一个完全类似的现实世界的情况,所以我只会逐字解释。如何在不遗漏父项的情况下返回父项及其子项?
我有一个表(CGI_SUB)有2列:SUB和CGI。为了便于描述,可以给表别名“a”。此表中没有唯一的密钥。每个CGI条目(“父条目”)都有一个对应的SUB条目,它接近于说从关系角度来看CGI = Parent和SUB是子女;但是,每个父条目也将具有相同的SUB。做的是输出所有的CGI(包括“父”),如果有子(共2个或更多SUB和)。从本质上说,输出的父母和他们的孩子,只有当他们有了孩子。
表看起来像这样
| SUB | CGI |
______________
| TTA | TTA |
| NSN | NSN |
| INF | NSN |
| VWA | VWA |
| POR | VWA |
| BMW | BMW |
你可以看到在这种情况下,NSN和VWA有“小孩”,TTA和宝马都没有,所以我想输出NSN,VWA和他们的小孩dren:
| SUB |
_______
| NSN |
| INF |
| VWA |
| POR |
感谢您的帮助!
克雷格
编辑:拼写