我有兩個屬性表。如果一個表沒有價值從另一個表獲得它
Table1: App_conf
prop_name
prop_value
prop_desc
Table2: Client_conf
client_id
prop_name
prop_value
prop_desc
我想編寫一個查詢,其中第一,我需要在Client_conf
表檢查與特定prop_name
和client_id
。如果在Client_conf
表中沒有匹配的行,那麼我需要檢查App_conf
表,其中prop_name
。
比如價值在App_conf表:在Client_conf表
'Max Amount Limit', '2000', 'Maximum amount'
'Min Amount Limit', '200', 'Minimum amount'
值:
'1','Max Amount Limit', '1500', 'Maximum amount'
案例1:
prop_name = 'Max Amount Limit', client_id = '1'
在這種情況下,我需要的價值1500從Client_conf表。
案例2:
prop_name = 'Min Amount Limit', client_id = '1'
由於這是不存在的Client_conf表,我需要從App_conf表中的值,其結果將是200
我需要這樣做在具有最佳性能的單個查詢中。
我正在使用MS SQL。
這隻會在client_conf中存在記錄時返回一個prop_value,因爲您正在執行LEFT JOIN,但是希望在WHERE子句中爲client_id指定一個值。 – William
好的@ @威廉,謝謝。將'client_id'條件移到它所屬的'join'子句中。 – Mureinik
如果app_conf表中不存在「某個名稱」,則此查詢不會返回值。在這種情況下,我需要從client_conf表中獲取值。你能幫忙嗎? –