繁体   English   中英

如何使用自定义结果在mysql中联接同一表

[英]how to join same table in mysql with custom result

我想加入自我表生成查询选择。

表A:

ID || CID || STAT || VAL
...........................
A1 || (-) || 1 || 0
A2 || (-) || 1 || 0
A3 || (-) || 1 || 0
B1 || A1 || 2 || 20
B1 || A2 || 2 || 30
B2 || A1 || 2 || 40
B2 || A1 || 2 || 50
B3 || A1 || 2 || 60

我想将表A与表A联接以生成条件结果。 谁能帮助我取得这样的结果?

ID || CID || VAL
...........................
A1 || B1 || 20
A1 || B2 || 40
A1 || B2 || 50
A1 || B3 || 60
A2 || B1 || 30
A3 ||    ||

感谢您的关注。

您可以表A自身联接:

SELECT t1.ID, COALESCE(t2.ID, '') AS CID, COALESCE(t2.VAL, '')
FROM tableA t1 LEFT JOIN tableA t2
    ON t1.ID = t2.CID
WHERE t1.CID IS NULL

请点击以下链接以获取正在运行的演示:

SQLFiddle

SELECT a.CID,a.ID,a.VAL FROM database.test a LEFT JOIN imt_database.test b ON a.CID = a.ID WHERE a.CID is not null

结果:

A1  B1  20
A2  B1  30
A1  B2  40
A1  B2  50
A1  B3  60

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM