2014-09-24 3 views
1

하나의 열을 구별 할 수있는 방법이 있습니까? 첫 번째 두 열을 가져 와서 세 번째 열을 함께 합하는 쿼리가 있습니다. 2 행에는 2 + 1 = 3; 4 행에서 1 + 2 = 3이됩니다. 내 문장에 제한/제약 조건을 넣어 이러한 행을 제거 할 수있는 방법이 있습니까? SQL에서 단 하나의 열만 구별합니까?

내가 지금까지 무엇을 가지고 :

SELECT TableA.n AS ColumnA, TableB.n AS ColumnB, (TableA.n + TableB.n) as [Sum] 
FROM MyTable AS TableA CROSS JOIN MyTable AS TableB 
WHERE TableA.n <= 3 AND TableB.n <= 3 
나는이 작업을 수행 할 수 있지만 작동하지 않습니다 아마도 생각

: distinct (TableA.n + TableB.n) as [Sum]

enter image description here

는 마이크로 소프트 SQL 서버

답변

3
를 사용하여

올바르게 이해하면 columnA < columnB :

를 요구할 수 있습니다.
SELECT TableA.n AS ColumnA, TableB.n AS ColumnB, (TableA.n + TableB.n) as [Sum] 
FROM MyTable AS TableA CROSS JOIN 
     MyTable AS TableB 
WHERE TableA.n < TableB.n AND 
     TableA.n <= 3 AND TableB.n <= 3 ; 
+0

도움 주셔서 감사합니다. @ GordonLinoff -이 요구 사항은 제 예제에서 훌륭하게 작동합니다. 고맙습니다. – user3281388

+0

예제 쿼리는 제가 작업하고있는 '단순화 된'버전입니다.이 작업을 수행하는 다른 방법이 있습니까? 내 요구 사항 중 하나는 세 번째 열의 값을 한 번만 표시 할 수 있다는 것입니다. 그래서 나는 별개의 – user3281388

+0

@ user3281388을 사용해야한다고 생각한 이유입니다. . . 아마도 당신은 정말로 필요한 것을 설명하는 더 나은 일을하는 또 다른 질문을해야합니다. 이것은이 질문에 대한 대답 인 것으로 보입니다. –

관련 문제