[SQL] 내부는 SQL 서버에 행 번호에 가입 할 방법
SQL내부는 SQL 서버에 행 번호에 가입 할 방법
SQL 서버 2008
두 테이블 :
표 A는 다음과 같은 데이터가 있습니다 :
RowA
RowB
RowC
RowD
표 B는 다음과 같은 데이터를 가지고
Row4
Row3
Row2
Row1
나는 다음과 같은 출력을 얻으려면 :
RowA Row1
RowB Row2
RowC Row3
RowD Row4
두 테이블 간의 유일한 공통 값은 행 개수
나는 물론 개별적으로 데이터를 얻을 수 있습니다 :
SELECT val
FROM A
ORDER BY val
SELECT val
FROM B
ORDER BY val
하지만 어떻게 행 번호에 가입합니까?
그리고 무슨 일이 나는 주문에 의해,하지만 단지 그들이 나올 순서대로 행을하지 않으려면?
RowA Row4
RowB Row3
RowC Row2
RowD Row1
에로의 가입
SELECT val
FROM A
SELECT val
FROM B
해결법
-
==============================
1.이 시도:
이 시도:
사용 ROW_NUMBER () SQL Server 2008의 기능
select A.val,B.val from( SELECT val,row_number() over (order by val) as row_num FROM A)A join (SELECT val,row_number() over (order by val) as row_num FROM B)B on A.row_num=B.row_num ORDER BY A.val,B.val
-
==============================
2.
select A.sectionname, A.Basicprice,A.Brand,A.Description,A.Description,A.Grandtotal,A.GST,A.Gstvalue,A.Hsncode,A.Image,A.Installationcharge,A.Model,B.Age,B.Mark,B.Name,B.class from( SELECT Class,row_number() over (order by class) as row_num,Age,Mark,Name FROM classtable)B LEFT join (SELECT sectionname,row_number() over (order by sectionname) as row_num,Basicprice,Brand,Description,Grandtotal,GST,Gstvalue,Hsncode,Image,Installationcharge,Model FROM testtable)A on A.row_num=B.row_num
from https://stackoverflow.com/questions/12972320/how-to-do-an-inner-join-on-row-number-in-sql-server by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 이 코드 방지 SQL 주입합니까? (0) | 2020.05.04 |
---|---|
[SQL] 그것은 ADO.NET SQL 매개 변수로 ID의 컬렉션을 보낼 수 있습니까? (0) | 2020.05.04 |
[SQL] MYSQL에서 하위 쿼리에서 LIMIT 키워드를 사용하는 대체 (0) | 2020.05.04 |
[SQL] SQL Server 2005의 ROW_NUMBER () ORDER BY없이 (0) | 2020.05.04 |
[SQL] 가입하고 엔티티 프레임 워크에 포함 (0) | 2020.05.04 |