首先查看此代碼。我似乎應該爲我工作,但它不是! (驚喜!)如何在TSQL中創建布爾型計算字段並加入該計算字段?
無論如何,這是我第一次嘗試:
SELECT
Status as status,
Address as ip,
PCName as pc_name,
(Numbers.Phone = 'CPU/' + PCName) as cpu_contact,
(Numbers.Phone = 'PC/' + PCName) as pc_contact,
(Numbers.Phone = 'LOGIN/' + PCName) as login_contact,
FROM IPAddress
WHERE $where --Generated In code
JOIN Numbers
ON ('CPU/' + PCName = Numbers.Phone)
OR ('PC/' + PCName = Numbers.Phone)
OR ('LOGIN/' + PCName = Numbers.Phone)
所以,我要的是一些布爾計算字段並加入類似的條件。我也想將結果摺疊成單行。舉例來說,我認爲目前的設置會做這樣的事情:
status ip cpu_contact pc_contact login_contact
-----------------------------------------------
foo bar true false false
foo bar false true false
foo bar false false true
而且很明顯,我寧願
status ip cpu_contact pc_contact login_contact
-----------------------------------------------
foo bar true true true
任何想法?數據庫重新設計不是一種選擇。如果是這樣,我會這麼做:-)
哇,這太複雜了!好吧。我認爲它會完成工作;它也很糟糕,因爲我們有很多列沒有列出,但我寧願程序的一部分比所有部分都複雜。謝謝! – 2009-01-06 18:27:25