从不同的行中选择不同的列

时间:2013-07-11 07:51:24

标签: sqlite

我已经搜索并尝试了很多,但无法得到任何答案。我需要一个像

这样的表的sqlite查询
ID     Name     Address     Phone
1               yyyy        zzz
1      aaa      bbbb        ccc

查询应返回结果

1      aaa      yyyy        zzz

因此,从第一个记录中的第二个非空记录和地址以及电话命名(第一个记录也可以为空或者可能不存在事件)。

提前致谢。

1 个答案:

答案 0 :(得分:0)

好的,我自己做了查询。假设下面是测试表

ID     Name     Address     Phone
1               yyyy        zzz
1      aaa      bbbb        ccc
2      rrrr              

所以下面的查询

SELECT b.name,a.address, a.phone from test a  
    join (select id,name,address from test where id=1 ) b on a.id = b.id 
    where b.name is not null and (a.address is null or a.address!=b.address)

将提供'aaa','yyyy','zzz'

SELECT b.name,a.address, a.phone from test a  
    join (select id,name,address from test where id=2 ) b on a.id = b.id 
    where b.name is not null and (a.address is null or a.address!=b.address)

将提供'rrrr',,