首先查看此代码。我似乎应该为我工作,但它不是! (惊喜!)如何在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