(여기 참조 : TSQL MAX()를) 최대 기능은 하나의 열에서 최대 값을 가져옵니다.
원하는 것을 얻으려면 세 개의 값을 단일 열로 가져와야합니다. 이 작업은 다음을 사용하여 수행 할 수 있습니다. UNPIVOT
PIVOT/UNPIVOT
이 스 니펫이 도움이 될 수 있습니다.
CREATE TABLE #A (ID INT, tickvalue INT)
CREATE TABLE #B (ID INT, tickvalue INT)
CREATE TABLE #C (ID INT, tickvalue INT)
INSERT INTO #A VALUES (1,1)
INSERT INTO #A VALUES (2,4)
INSERT INTO #A VALUES (3,7)
INSERT INTO #A VALUES (4,2)
INSERT INTO #A VALUES (5,8)
INSERT INTO #B VALUES (1,8)
INSERT INTO #B VALUES (2,7)
INSERT INTO #B VALUES (3,2)
INSERT INTO #B VALUES (4,4)
INSERT INTO #B VALUES (5,1)
INSERT INTO #C VALUES (1,2)
INSERT INTO #C VALUES (2,1)
INSERT INTO #C VALUES (3,2)
INSERT INTO #C VALUES (4,15)
INSERT INTO #C VALUES (5,2)
SELECT ID, MAX(tickvalue)
FROM
(SELECT C.ID, A.tickvalue t1, B.tickvalue t2, C.tickvalue t3
FROM #A AS a
JOIN #B AS b ON a.ID = b.ID
JOIN #C AS c ON b.ID = c.ID) p
UNPIVOT (tickvalue FOR tsource IN (t1,t2,t3)) AS unpvt
GROUP BY ID
DROP TABLE #A
DROP TABLE #B
DROP TABLE #C
당신은 결과 레코드의 첫 번째 열에 얻기 위해 무엇을 기대합니까? 하지만 이미 빈 문자열이 있다는 것을 이미 알고있는 것처럼 보입니다. – Igor
@Igor 코드 스 니펫 – user1599610
을 업데이트하십시오. 어떻게 작동하지 않습니까? – Igor