【发布时间】:2018-09-17 07:37:12
【问题描述】:
客户信息
zipcode|id|familyid|lastname|firstname|head
00001|0001|0001|NAME1|PAUL|1
00001|0002|0001|NAME1|JOHANNA|0
00002|0003|0001|NAME1|FRANCIS|0
...
00003|0004|0004|NAME2|PATRICE|1
00003|0005|0004|NAME2|PAULA|0
00003|0006|0004|NAME2|BART|0
...
00004|0007|0007|NAME3|PAT|1
00004|0008|0007|NAME3|JANE|0
00003|0009|0007|NAME3|BURT|0
...
假设有一个名为 CLIENTINFO 的表,其中包含 以下列:邮政编码、客户端 ID、 familyid、lastname、firstname 和 head(无论是 客户是否是他/她的一家之主)。家庭 id对应户主的id。
首先,您如何将以下查询转换为 SQL 95+:
显示至少有一个成员有邮政编码的家庭 与其他成员不同
例如,FRANCIS NAME1 的邮政编码与 PAUL 的不同 和弗朗西斯的。
二、你如何将下面的语句翻译成SQL:
显示至少有一个成员的邮政编码不同的家庭 来自一家之主。
例如,BURT NAME3 的邮政编码与 PAT NAME3 的邮政编码不同。
【问题讨论】:
-
用您正在使用的数据库标记您的问题。
-
到目前为止你的尝试是什么?
-
您想获取所有家庭成员还是只获取家庭 ID?顺便说一句,Q2 完全包含在 Q1 中:-)
-
@dnoeth,只有当有一家之主时:-)
-
@DavidFaber: 嗯,family id对应着family head的id,没有head就没有family :-)