1

这是我的问题,

CREATE TABLE
    #table1(ID int, Fruit varchar(50), Veg varchar(50))
INSERT INTO #table1 (ID,Fruit,Veg)
VALUES (1,'Apple', 'Potato')

CREATE TABLE
    #table2(ID int, Fruit varchar(50), Veg varchar(50))
INSERT INTO #table2 (ID,Fruit,Veg)
VALUES (2,'Apple', 'Potato')

SELECT * FROM #table1 INTERSECT SELECT * FROM #table2

我有两个表,我想找到两个表中相同的行,但是两个表都有不同且不相关的 ID 列。有没有办法在两个表上使用 INTERSECT 或 EXCEPT,但忽略比较中的 ID?

我需要在返回的行上保留 ID,所以在上面的示例中,将返回两行,一个 ID = 1,另一个 ID = 2

如果 ID 以外的任何内容不同,则不会返回任何内容。

谢谢!

4

1 回答 1

0

I don't think this can be done with INTERSECT. Maybe with a join instead?

SELECT t1.id, t2.id, t1.veg, t1.fruit
FROM Table1 as t1
INNER JOIN Table2 as t2
ON t1.veg = t2.veg AND t1.fruit = t2.fruit
于 2013-04-29T15:42:48.313 回答