我认为我的where子句是错误的。SQL查询不能让我感觉
我的两难处境是,如果用户在tbl_dentalBuyerInsurance中没有记录,那意味着他们正在采取所有措施。
因此,如果用户在tbl_dentalBuyerInsurance中没有记录,我希望他们作为结果返回。 我也希望他们回来,如果他们在tbl_dentalBuyerInsurance中有记录,并且它使用LIKE或相等匹配。
SELECT
[dbo].[tbl_users].*, [dbo].[tbl_dentalBuyerInsurance].*
FROM
[dbo].[tbl_users]
LEFT OUTER JOIN [dbo].[tbl_dentalBuyerInsurance] ON [dbo].[tbl_dentalBuyerInsurance].buyerId = [dbo].[tbl_users].id
LEFT OUTER JOIN [dbo].[tbl_dentalInsurance] ON [dbo].[tbl_dentalInsurance].id = [dbo].[tbl_dentalBuyerInsurance].dentalInsuranceId
WHERE
(
(
[dbo].[tbl_dentalInsurance].companyName LIKE '%Cigna%'
OR [dbo].[tbl_dentalInsurance].companyName = ''
)
AND(
[dbo].[tbl_dentalBuyerInsurance].ppo = 1
OR [dbo].[tbl_dentalBuyerInsurance].ppo = ''
)
AND(
[dbo].[tbl_dentalBuyerInsurance].hmo = 0
OR [dbo].[tbl_dentalBuyerInsurance].hmo = ''
)
)
你真的应该尝试使用别名你的表。 – Aaron 2012-01-27 17:41:43
会做:) @ BryceAtNetwork23 – 2012-01-27 17:57:48