Db2

查找不在多列中的值

  • August 5, 2020

我需要在“APC_Spec”編號內的“子編號”(從位置 6 開始,長度為 4)列中未使用“RMS_CODE”列和“RMS_ALT1_Cde”列中的“程式碼”。我嘗試使用提供的圖像中的 sql,但它只在行中查看,並沒有檢查“APC_Spec”要求中的整個列。任何人都可以建議一種方法來檢查子列中的每個“APC_Spec”沒有使用哪些程式碼#?

SQL 範例

試試這個:

with tRMS_CODE as 
  (SELECT DISTINCT RMS_CODE FROM RMS_Table)
  , tRMS_ALT1_Cde as 
  (SELECT DISTINCT RMS_ALT1_Cde FROM RMS_Table)
SELECT DISTINCT * FROM RMS_Table
WHERE 
  SUBSTR(CHILD,6,4) NOT IN (SELECT * FROM tRMS_CODE) AND 
  SUBSTR(CHILD,6,4) NOT IN (SELECT * FROM tRMS_ALT1_Cde) AND 
  APC_Spec='36559'

引用自:https://dba.stackexchange.com/questions/266197