2013-04-29 2 views
1

는 여기에 두 테이블을 가지고 있고 모두에서 동일 행을 찾으려하지만, 두 테이블은 서로 다른과 관련이없는 ID 열이SQL Server에서 EXCEPT 또는 INTERSECT를 사용하고 열을 무시할 수 있습니까?

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 

, 내 질문입니다. 두 테이블에서 INTERSECT 또는 EXCEPT를 사용할 수 있습니까?하지만 비교시 ID를 무시하십시오.

나는 위의 예에서, 그래서 두 행은 ID = 1 일 및 ID와 다른, 반환되는, 반환 된 행에 ID의의를 계속해야 = 2

아이디의 이외의 다른 경우 , 아무것도 반환되지 않습니다.

감사합니다.

+3

테이블에 서로 다른 관련이없는 ID 열이있는 경우 왜 SELECT *를 사용합니까? 과일 만 나열하면 채식이 잘 작동합니다. 맞습니까? 그렇지 않으면 두 테이블에 과일/Veg 쌍이 나타날 때 어떤 ID가 표시되어야하는지 결정해야합니다 ... –

+0

또는 두 가지를 모두 표시 할 수 있습니까? –

+0

@Aters with Intersect? 방법? –

답변

0

나는 이것을 INTERSECT으로 생각할 수 없다고 생각합니다. 대신에 참여하는 것일까 요?

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 
관련 문제