我有一份客户个人详细信息数据表:
ID
name
addressID
referralID
部分数据是'referralID'。如果某些条目已由数据库中的其他客户端引用,则将填写此条目。因此,referralID将匹配数据库中的ID。
我正在尝试创建一个查询,该查询将返回引荐人的详细信息以及他们提到的人员姓名,例如:
Referrals ID (Where referallID = ID),
Referrals name (name),
ID of client referred (ID),
Name of Client referred (name)
由于查询需要以某种方式引用自身,我在如何处理此问题以及采用何种方法方面遇到困难?我如何从表中提取两次细节?
希望这对人们来说很容易理解。任何帮助或指导将非常感谢,欢呼
答案 0 :(得分:4)
将MyTable
替换为您的表名,并使用别名加入同一个表:
SELECT
m.ID,
m.Name,
m.AddressID,
m2.name as ReferralName
FROM
MyTable m
INNER JOIN
MyTable m2
ON m2.ReferralID = m.ID
答案 1 :(得分:0)
假设您想要一个包含所有客户及其所引荐人员的列表,并且该客户端是表名,并且该ID = ReferallID ......
Select * from client c1
LEFT join client c2 on C1.ID = C2.ReferallID