UNION 두 개의 유사한 데이터 집합이 있지만 둘 다 다른 테이블에 존재하지 않는 열이 있습니다. 즉 결과 UNION에 NULL 값이있는 열이 있습니다. UNION의 목적은 소프트웨어 측면에서 친숙한 형식으로 데이터를 가져 오는 것입니다.TSQL ORDER-BY가 다른 데이터 집합의 유니버스로
문제는 하나 또는 다른 세트에만 존재하는 열을 사용하여 결과 데이터를 ORDER해야합니다.
예 : 표 1에는 ID, Cat, Price 필드가 있습니다. Table2는 필드 ID (Table1과 동일), Name, Abbrv가 있습니다.
내 쿼리는 다음과 같이 다음과 같습니다 내가 붙어있어 어디
SELECT t1.ID, t1.Cat, t1.Price, NULL as Name, NULL as Abbrv FROM t1
UNION
SELECT t2.ID, NULL as Cat, NULL as Price, t2.Name, t2.Abbrv FROM t2
ORDER BY Price DESC, Abbrv ASC
순서에 따라입니다.
100---Balls-----1.53----------------------
200---Bubbles---1.24----------------------
100---------------------RedBall----101RB--
100---------------------BlueBall---102BB--
200---------------------RedWand----201RW--
200---------------------BlueWand---202BW--
그러나 나는 그것이 같이 할 : 데이터는 다음과 같습니다
100---Balls-----1.53----------------------
100---------------------RedBall----101RB--
100---------------------BlueBall---102BB--
200---Bubbles---1.24----------------------
200---------------------RedWand----201RW--
200---------------------BlueWand---202BW--
(사과 사람들은 읽기 어려운 경우 - 않았나 테이블을 보여 말씀해)
이것은 입니다. 매우 예를 들어 멍청이이고 속담은 "JOIN을 사용하십시오!" 답변을 적용 할 수 없습니다 (예 : 이미 가입 방법을 알고 있지만 최종 결과에서 원하는 것은 아닙니다).
이 작업을 수행하는 유일한 방법은 데이터 계층에서 돌아 오면 소프트웨어에서 데이터를 조작하는 것입니다. 그렇다면 그렇게하십시오. 그러나 나는 그것이 TSQL에서 할 수 있기를 바라고있다.
id가 T2 제품을 T1 제품에 연결하지 않았습니까? RedWand 및 BlueWand가 Bubbles를 직면 한 것을 어떻게 알고 있습니까? – mundeep
그는 질문에 : "Table2 필드 ID (Table1과 동일)" –
모두에게 감사합니다 모두; 이것은 단지 첫 번째 질문 일뿐입니다. 그러나 이것은 이미 위대한 공동체처럼 보입니다. 또한, 내 질문이 의미하는 '아키텍처'를 비판하는 사람들을 위해 - 내가 받아 들인 대답에서 위와 아래에 무엇을 말했는지 주목 해주십시오 : 이것은 어리석은 사례입니다! 내 질문에 '테이블'실제로 집계 및 계산 된 필드를 여러 테이블 및 하위 쿼리를 포함하는 두 개의 매우 복잡한 SELECT 쿼리를 나타냅니다. 다시 한 번 감사드립니다! – NateJ