我遇到了SQL问题。我想从两个具有不同列数的不同表中获取不同的记录,这些列具有相同的主键。 我尝试过“EXCEPT”和“MINUS”,但由于这两个表的列数不同,我收到了错误。
我是否可以使用其他sql命令来获取我想要的记录?
谢谢, 分钟
答案 0 :(得分:2)
您可以使用INNER JOIN赞:
SELECT table1.column1, table2.column3
FROM table1 INNER JOIN table2
ON table1.column1=table2.column1;
答案 1 :(得分:0)
试试这个:
SELECT t1.table1column1,
t1.table1column2,
t1.table1column3,
t2.table2column1,
t2.table2column2,
t2.table2column3
FROM table1 t1
JOIN table2 t2 ON t1.table1column1 = t2.table2column1
答案 2 :(得分:0)
具有等于NULL条件的键列的FULL OUTER JOIN可以帮助您解决问题。 以下是SELECT语句示例
/*
create table Tab1(id int, col1 varchar(10))
create table Tab2(id int, col2 varchar(10), col3 int)
insert into tab1 select 1,'Kodyaz'
insert into tab1 select 2,'Vader'
insert into tab2 select 2,'Star Wars', 6
insert into tab2 select 3,'SQL', 2014
*/
select *
from tab1
full outer join tab2 on tab1.id = tab2.id
where
tab1.id is null
or tab2.id is null
我希望它有所帮助,