這不是MAX()
聚合函數在TSQL是如何工作的(在這裏看到:TSQL MAX()) 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