如何在单个表中组合来自不同表的单独列

问题描述 投票:0回答:1

我有以下VFP游标(表):

Cursor 1 Cursor 2 Cursor 3

我需要这个结果:

Final Cursor

我已经尝试过FULL JOIN,CROSS JOIN,UNION ALL等等。但我无法解决问题。

请给我任何帮助。

我正在使用Visual FoxPro 9.0

这是代码:

lkey = SYS(2015) 
CREATE CURSOR cur1 (unico c(10),valor c(2))
INSERT INTO cur1 values(lkey, 'A1')
INSERT INTO cur1 values(lkey, 'A2')
INSERT INTO cur1 values(lkey, 'A3')

CREATE CURSOR cur2 (unico c(10),valor c(2))
INSERT INTO cur2 values(lkey, 'B1')
INSERT INTO cur2 values(lkey, 'B2')
INSERT INTO cur2 values(lkey, 'B3')    

INSERT INTO cur3 values(lkey, 'C1')
INSERT INTO cur3 values(lkey, 'C2')
INSERT INTO cur3 values(lkey, 'C3')

谢谢!

sql visual-foxpro dbf
1个回答
3
投票

如果只有光标中记录的位置构成连接标准,则可以使用recno()

SELECT cur1.valor, ;
       cur2.valor, ;
       cur3.valor ;
       FROM (SELECT valor, ;
                    RECNO() rn ;
                    FROM cur1) cur1 ;
            FULL JOIN (SELECT valor, ;
                              RECNO() rn ;
                              FROM cur2) cur2 ;
                      ON cur2.rn = cur1.rn ;
            FULL JOIN (SELECT valor, ;
                              RECNO() rn ;
                              FROM cur3) cur3 ;
                      ON cur3.rn = cur2.rn 
© www.soinside.com 2019 - 2024. All rights reserved.