我有一个存储基本站点信息的表,另一个存储站点地址的表以及第三个电话表。我的电话表包含电话号码和号码类型。根据第三列将信息分类为两个新列的SQL查询
我想要做的是获取我的网站信息,主要联系电话号码和传真号码。到目前为止,我的发言是这样的:
SELECT site.isiteid,
site.iclientid,
csitecode,
csitename,
binactive,
caddress1,
caddress2,
ccity,
cstateid,
czip,
icountryid,
cattention,
cemail,
cnumber,
cextension
FROM dbo.site
INNER JOIN dbo.address
ON dbo.site.isiteid = dbo.address.isiteid
AND (site.isiteid = 2)
LEFT JOIN dbo.phone
ON dbo.site.isiteid = dbo.phone.isiteid
AND (dbo.phone.iphtypeid = 1)
这让我所有的,我需要除传真号码信息(dbo.phone.iphtypeid = 3)。有没有办法给名为[fax]的结果添加另一列,并在site.isiteid = phone.isiteid和phone.iphtypeid = 3时填充它?因此,最后的4列返回将[cemail][cnumber][cextension][cfax].
议决
谢谢所有三个谁回答。所有的答案都是相似的,所以我选择了最详细的解释。我确实需要将表名添加到cnumber引用和cextension中以避免含糊不清。感谢您的回复!
难道你不需要在ON子句中使用'f'别名吗? – Tadmas
别名手机作为F忽略别名...我不知道()也是必要的。 – Zane
@Tadmas修复答案。感谢您指出。 – TTeeple