0
目前我有一個查詢,如下所示:有條件的聯盟T-SQL
-- Query 1
SELECT
acc_code, acc_name, alias, LAmt, coalesce(LAmt,0) AS amt
FROM
(SELECT
acc_code, acc_name, alias,
(SELECT
(SUM(cr_amt)-SUM(dr_amt))
FROM
ledger_mcg l
WHERE
(l.acc_code LIKE a.acc_code + '.%' OR l.acc_code=a.acc_code)
AND
fy_id=1
AND
posted_date BETWEEN '2010-01-01' AND '2011-06-02') AS LAmt
FROM
acc_head_mcg AS a
WHERE
(acc_type='4')) AS T1
WHERE
coalesce(LAmt,0)<>0
查詢2是相同的查詢1除了acc_type = '5'
在查詢2.查詢2總是返回一個單行結果集。現在,我需要工會的兩個查詢,即
Query 1
UNION
Query 2
只有當查詢2返回的AMT小於0。否則,我不需要從查詢工會,但只有resulset 1
我能想到的最好方法是創建一個參數化的標量函數。我該如何做到最好?
只是一個觀察:由於coalesce(LAmt,0)<> 0'條件,'coalesce(LAmt,0)AS amt'列似乎是多餘的。 – 2011-06-02 15:36:13