我有一张如下表格,我试图选择1个系列EID,即1001,1002,1003,1004,1005和2个系列EID作为单独的查询
EID PCNum
1001 8.6
1002 10
1003 9
1004 8
1005 7
2001 4
2002 1
2003 2
2004 3
2005 6
3001 8
3002 0
3003 7
3004 4
3005 4
查询合并如下
EID PCNum EID PCNum EID PCNum
1001 8.6 2001 4 3001 8
1002 10 2002 1 3002 8
1003 9 2003 2 3003 8
1004 8 2004 3 3004 8
1005 7 2005 6 3005 8
如何在sql查询中指定?有什么建议?我尝试了UNION,但是给出了一些错误。
答案 0 :(得分:1)
通常情况下,你会有一个列将EID与系列分开,只留下001,002等值。
在这种情况下,您可以JOIN
自身数据+1000倍的序列号。像这样:
SELECT
t1.EID, t1.PCNum,
t2.EID, t2.PCNum,
t3.EID, t3.PCNum
FROM
table_name t1
INNER JOIN table_name t2 on t1.EID+1000 = t2.EID
INNER JOIN table_name t3 on t1.EID+2000 = t3.EID
WHERE t1.EID BETWEEN 1000 AND 1999
ORDER BY t1.EID