SQL联接-结果为单行
我试图连接两个SQL表以在一行中获得结果 表1SQL联接-结果为单行,sql,sql-server,Sql,Sql Server,我试图连接两个SQL表以在一行中获得结果 表1 id | num | value (Values can be 'N' number) ------ | ------ | ------ X | 1 | ZA X | 2 | Z1 表2 id | num | num2 ------ | ------ | ------ X | 1 | 2 连接表1和表2 我得到的是: id |
id | num | value (Values can be 'N' number)
------ | ------ | ------
X | 1 | ZA
X | 2 | Z1
表2
id | num | num2
------ | ------ | ------
X | 1 | 2
连接表1和表2
我得到的是:
id | num | value | num | value
------ | ------ | ------ | ------ | ------
X | 1 | ZA | 2 | null
X | 1 | null | 2 | Z1
预期结果:
id | num | value | num | value
------ | ------ | ------ | ------ | ------
X | 1 | ZA | 2 | Z1
我该怎么做?您需要详细说明一下,并提供您的查询。您应该使用聚合和分组方式,但就@scsimon而言,您没有提供足够的详细信息来告诉我们如何做。折叠不同值的规则是什么,这需要先例等等?我还要在
id
列上添加相等项;这似乎是对这个问题的合理解释。谢谢你的回答霍根:)
Select t1.id, t1a.num, t1a.value, t1b.num, t1b.value
from table2 t2
left join table1 t1a on t2.num = t1a.num
left join table1 t1b on t2.num2 = t1b.num