[英]SQL Select all columns from one table and Max value of another column on another table
[英]SQL Server select the max value from one column and check if the value exists in another table
我正在使用SQL Server,並且正在為INSERT語句工作。
這是我的步驟:
步驟1 :從table A
的列中選擇最大值。 該列中的值未序列化。 然后加+1(例如,最高值為45,則此步驟的最終結果為46)
步驟2 :然后,檢查46是否存在於table B
步驟3 :如果table B
存在該數字,則再次加1並再次檢查。
知道如何編碼嗎?
如果可能,請使用“序列”。 它生成數值序列,並且可以在表之間共享。
除此以外
SELECT MAX(MAXVAL) FROM
(
SELECT MAX(VAL) AS MAXVAL FROM TableA
UNION
SELECT MAX(VAL) AS MAXVAL FROM TableB
)T
您可以編寫遞歸CTE來實現此目的。
這是示例代碼
;WITH CTE AS
(
SELECT MAX(VAL)+1 AS MAXVAL FROM TableA
),CTE2 AS
( SELECT MAX(VAL) +1 AS MAXVAL FROM TableB where exists (SELECT 1 FROM CTE WHERE MAXVAL=TableB.MAXVAL)
)
SELECT MAXVAL FROM CTE2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.