我正努力將這兩個陳述合併成一個陳述。SQL:如果第一個查詢沒有返回任何行,則調用第二個查詢
我的第一條語句實際上是3條語句,我只希望返回值的第一條語句返回,這是一種享受。
SELECT ReferenceKey, ReferenceValue FROM
(
SELECT a.GBNK076 AS ReferenceKey, TRIM(a.GBNK076) ||' - '|| b.BANM11 AS ReferenceValue, 1 as preference
FROM THTFU.THAP076P AS a LEFT OUTER JOIN OSLTHLF3.CSP11 AS b ON b.BANK11 = a.GBNK076 AND b.CONO11 = a.CONO076
WHERE a.CONO076 = '01' AND a.PMTH076 = 'BMG' AND a.CURN076 = 'EUR'
UNION
SELECT a.GBNK076 AS ReferenceKey, TRIM(a.GBNK076) ||' - '|| b.BANM11 AS ReferenceValue, 3 as preference
FROM THTFU.THAP076P AS a LEFT OUTER JOIN OSLTHLF3.CSP11 AS b ON b.BANK11 = a.GBNK076 AND b.CONO11 = a.CONO076
WHERE a.CONO076 = '01' AND a.PMTH076 = 'BMG' AND a.CURN076 = ''
UNION
SELECT a.GBNK076 AS ReferenceKey, TRIM(a.GBNK076) ||' - '|| b.BANM11 AS ReferenceValue, 3 as preference
FROM THTFU.THAP076P AS a LEFT OUTER JOIN OSLTHLF3.CSP11 AS b ON b.BANK11 = a.GBNK076 AND b.CONO11 = a.CONO076
WHERE a.CONO076 = '01' AND a.PMTH076 = '' AND a.CURN076 = ''
)BankPayingFrom ORDER BY preference
FETCH FIRST 1 ROWS ONLY
但是,如果沒有這三個語句返回任何信息,我想低於能斷火的SQL語句檢索所有可能的記錄。
SELECT BANK11 as ReferenceKey, TRIM(BANK11) ||' - '|| BANM11 as ReferenceValue From OSLTHLF3.CSP11 WHERE CONO11 = '01'
如何加入這兩個語句組合在一起,這樣我只能讓從我的Web服務的一個調用後端數據庫(AS/400 DB2數據庫)?
我很感激任何幫助。
非常感謝 基督教
你需要所有'聯盟'嗎?你可以使用一個語句,並根據需要添加一些「OR」(可能是一個「CASE」)? –
真的不知道我是否應該這樣做,但是我在Google上搜索並且在公平的時候工作,我停在那裏:) –
好問題.. –