对于这个两个表:平加入两个表
CREATE TABLE TEST1 (ID INTEGER ,key VARCHAR(50),VALUE1 VARCHAR(50));
CREATE TABLE TEST2 (ID INTEGER ,key VARCHAR(50),VALUE2 VARCHAR(50));
表1:
130, 'HANSEN', 'STREET1'
130, 'HANSEN', 'STREET2'
130, 'HANSEN', 'STREET3'
120, 'HANSEN', 'STREET5'
120, 'HANSEN', 'STREET6'
表2:
130, 'HANSEN', 'ZIP1'
130, 'HANSEN', 'ZIP2'
130, 'HANSEN', 'ZIP3'
120, 'HANSEN', 'ZIP4'
120, 'HANSEN', 'ZIP5'
是否有可能得到的输出为:
130, 'HANSEN', 'ZIP1','STREET1'
130, 'HANSEN', 'ZIP2','STREET2'
130, 'HANSEN', 'ZIP3','STREET3'
120, 'HANSEN', 'ZIP4','STREET5'
120, 'HANSEN', 'ZIP5','STREET6'
尝试与内部连接ID,密钥,但我得到笛卡尔产品
感谢您的帮助。
辅助脚本(如果有人愿意对其进行测试):
DROP TABLE TEST1;
DROP TABLE TEST2;
CREATE TABLE TEST1 (ID INTEGER ,key VARCHAR(50),VALUE1 VARCHAR(50));
CREATE TABLE TEST2 (ID INTEGER ,key VARCHAR(50),VALUE2 VARCHAR(50));
INSERT INTO TEST1 VALUES (130, 'HANSEN', 'STREET1');
INSERT INTO TEST1 VALUES (130, 'HANSEN', 'STREET2');
INSERT INTO TEST1 VALUES (130, 'HANSEN', 'STREET3');
INSERT INTO TEST1 VALUES (120, 'HANSEN', 'STREET5');
INSERT INTO TEST1 VALUES (120, 'HANSEN', 'STREET6');
INSERT INTO TEST2 VALUES (130, 'HANSEN', 'ZIP1');
INSERT INTO TEST2 VALUES (130, 'HANSEN', 'ZIP2');
INSERT INTO TEST2 VALUES (130, 'HANSEN', 'ZIP3');
INSERT INTO TEST2 VALUES (120, 'HANSEN', 'ZIP4');
INSERT INTO TEST2 VALUES (120, 'HANSEN', 'ZIP5');
什么是你的数据库? – 2012-04-27 22:17:02
@ Vash:不,它不是笛卡尔连接。显然OP需要加入行号。这可能会完成,具体取决于RDBMS。 – 2012-04-27 22:17:29
@Vash:期望的输出不是笛卡尔式加入 – user648026 2012-04-27 22:17:48