2014-12-19 2 views
0

여기 내 쿼리입니다 : 마지막 근처에 구문 오류가가입하는 방법 테이블 변수

DECLARE @T1 TABLE (Id int, Name varchar(max)); 
    INSERT INTO @T1 VALUES (1, 'A'); 
    INSERT INTO @T1 VALUES (2, 'B'); 
    INSERT INTO @T1 VALUES (3, 'C'); 

    DECLARE @T2 TABLE (Id int, Name varchar(max)); 
    INSERT INTO @T2 VALUES (1, 'X'); 
    INSERT INTO @T2 VALUES (2, 'Y'); 
    INSERT INTO @T2 VALUES (3, 'Z'); 

    SELECT t1.*, t2.* 
    FROM @T1 t1 
    JOIN @T2 t2; 

';'. 내가 뭘 놓치고 있니? 크로스을하려면

+3

당신은 선택적 조건되지 않은 테이블 – radar

+0

가입 조건 절에 누락의 사용에 가입? 난 모든 행, 전체 직교 제품이 필요 –

+1

데카르트 제품이 필요하다면 크로스 조인을 쓰거나 다른 방법으로 쓰려면 select t1.id, t2.name .. 테이블 t1에서 테이블 t2 – radar

답변

2
JOIN @T2 t2 ON t1.SomeColumn = t2.SomeColumn 

CROSS JOIN 대신 JOIN

-1
DECLARE @T1 TABLE (Id int, Name varchar(max)); 
    INSERT INTO @T1 VALUES (1, 'A'); 
    INSERT INTO @T1 VALUES (2, 'B'); 
    INSERT INTO @T1 VALUES (3, 'C'); 

    DECLARE @T2 TABLE (Id int, Name varchar(max)); 
    INSERT INTO @T2 VALUES (1, 'X'); 
    INSERT INTO @T2 VALUES (2, 'Y'); 
    INSERT INTO @T2 VALUES (3, 'Z'); 

    SELECT t1.*, t2.* 
    FROM @T1 t1 
    JOIN @T2 t2 on t1.id=t2.id 
관련 문제