如何编写SQL查询实现表T1中Addr匹配Code的两行数据合并需求
SQL查询实现方案
实现逻辑为对表T1做自连接,将主表的Addr字段和关联表的Code字段做等值匹配,即可输出符合要求的合并结果:
SELECT t1_1.CID, t1_1.Code, t1_1.Addr, t1_1.City, t1_1.State, t1_2.City, t1_2.State FROM T1 t1_1 INNER JOIN T1 t1_2 ON t1_1.Addr = t1_2.Code
注意:部分数据库不允许查询结果存在同名字段,你可以给重复的City和State字段自定义别名区分,示例:
SELECT t1_1.CID, t1_1.Code, t1_1.Addr, t1_1.City AS source_city, t1_1.State AS source_state, t1_2.City AS match_city, t1_2.State AS match_state FROM T1 t1_1 INNER JOIN T1 t1_2 ON t1_1.Addr = t1_2.Code
执行上述语句后,输出结果和你给出的样例完全一致。
内容的提问来源于stack exchange,提问作者Sandhya Koduru
相关产品推荐
相关产品推荐

