[SQL] 어떻게 내가 같은 테이블에서 2 개 행을 비교합니까 (SQL 서버)
SQL어떻게 내가 같은 테이블에서 2 개 행을 비교합니까 (SQL 서버)
나는 다양한 상태와 특정 ID에 일치하는 행을 찾고 테이블을 처리하는 백그라운드 작업을 작성해야합니다. 그것은 일치하는 ID로 행에 대해 데이터를 비교하는 문자열의 행 데이터를 저장합니다.
나는 행 데이터를 얻을 수있는 구문을 알고 있지만 내가 전에 같은 테이블에서 2 개 행을 비교 해본 적이 있나요? 그것은 어떻게하는 것인가? 나는 각각의 데이터를 저장하는 변수를 사용할 필요가시겠습니까? 아니면 다른 방법으로?
(2008 SQL Server를 사용)
해결법
-
==============================
1.당신이, 자기가 가입라고 요구대로 여러 번 그 자체에 테이블을 가입 할 수 있습니다.
당신이, 자기가 가입라고 요구대로 여러 번 그 자체에 테이블을 가입 할 수 있습니다.
별명은 서로를 구별하기 위해 (아래의 예에서와 같이) 테이블의 각 인스턴스에 할당된다.
SELECT a.SelfJoinTableID FROM dbo.SelfJoinTable a INNER JOIN dbo.SelfJoinTable b ON a.SelfJoinTableID = b.SelfJoinTableID INNER JOIN dbo.SelfJoinTable c ON a.SelfJoinTableID = c.SelfJoinTableID WHERE a.Status = 'Status to filter a' AND b.Status = 'Status to filter b' AND c.Status = 'Status to filter c'
-
==============================
2.OK 2 년 후 마침내 구문을 수정하는 시간이다 :
OK 2 년 후 마침내 구문을 수정하는 시간이다 :
SELECT t1.value, t2.value FROM MyTable t1 JOIN MyTable t2 ON t1.id = t2.id WHERE t1.id = @id AND t1.status = @status1 AND t2.status = @status2
-
==============================
3.어떤 사람들은에 무슨 일이 일어나고 있는지보고 쉽게 다음 대체 구문을 찾을 수 있습니다 :
어떤 사람들은에 무슨 일이 일어나고 있는지보고 쉽게 다음 대체 구문을 찾을 수 있습니다 :
select t1.value,t2.value from MyTable t1 inner join MyTable t2 on t1.id = t2.id where t1.id = @id
-
==============================
4.SELECT COUNT (*) 발 (표 * FROM WHERE ID = 1 UNION SELECT * FROM 테이블 WHERE ID = 2)
SELECT COUNT (*) 발 (표 * FROM WHERE ID = 1 UNION SELECT * FROM 테이블 WHERE ID = 2)
같은 - 당신은 서로 다른 두 개의 행, 하나의 경우를 가지고있는 경우.
-
==============================
5.
SELECT * FROM A AS b INNER JOIN A AS c ON b.a = c.a WHERE b.a = 'some column value'
from https://stackoverflow.com/questions/510916/how-do-i-compare-2-rows-from-the-same-table-sql-server by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL 쿼리는 여러 날짜 범위 사이의 차이를 표시합니다 (0) | 2020.06.03 |
---|---|
[SQL] 트위스트와 임시 데이터베이스 설계, (초안 행 VS 라이브) (0) | 2020.06.03 |
[SQL] 많은 인덱스가있는 테이블에 대한 느린 대량 삽입 (0) | 2020.06.03 |
[SQL] 그것은 여러 외국 키로 한 열을 참조 할 수 있습니까? (0) | 2020.06.03 |
[SQL] T-SQL 하위 쿼리 최대 (일)과 조인 (0) | 2020.06.03 |