日期:2014-05-17  浏览次数:20466 次

在同一列中把数据分开输出成几列?
1表中A列是业主编号,B列是住户编号
2表中有C列是人员编号,D列是人员名称

1表中的两个表号信息关联到2表中的C列
现在就是想把两个表通过join输出这样的查询结果:

E列人员编号,F列业主名称,G列住户名称

请问如何实现?谢谢

------解决方案--------------------
--最好还是给数据,看得清楚。参考下面代码
SELECT
人员编号 = a.住户编号, --注意:这里只显示了住户的编号
业主名称 = b.人员名称,
住户名称 = c.人员名称
FROM table1 a
LEFT JOIN table2 b
ON a.业主编号 = b.人员编号
LEFT JOIN table2 c
ON a.住户编号 = b.人员编号

------解决方案--------------------
SELECT
    a.单元名称,
    业主名称 = b.住户名称,
a.业主编号,
    住户名称 = c.住户名称,
a.住户编号
FROM table1 a
    LEFT JOIN table2 b
        ON a.业主编号 = b.住户编号
    LEFT JOIN table2 c
        ON a.住户编号 = b.住户编号

------解决方案--------------------
更正一下楼上的笔误
SELECT
    a.单元名称,
    业主名称 = b.住户名称,
    a.业主编号,
    住户名称 = c.住户名称,
    a.住户编号
FROM table1 a
    LEFT JOIN table2 b
        ON a.业主编号 = b.住户编号
    LEFT JOIN table2 c
        ON a.住户编号 = c.住户编号


或者用下面的方法,当然没有上面的好了
SELECT  a.单元名称,
    业主名称 = (select 住户名称 from table2  where a.业主编号 = 住户编号)
    a.业主编号,
    住户名称 = (select 住户名称 from table2 where a.住户编号 = 住户编号)
    a.住户编号
FROM table1 a