2014-01-30 26 views
0

我目前正在研究一个litte项目,我需要根据用户定义表类型customerTable是否包含字符串customerId来选择数据。我设法让它正常工作,以便在customerTable中包含customerId时显示数据。但在我看来,还有一些不知名的客户,customerIdDBNULL。当customerTable包含VARCHAR(MAX)'全选'时,我如何能够设法选择它们?在SQL中使用用户定义表类型选择DBNULL

customerTable只包含与VARCHAR(MAX)一列customer

我目前的工作代码:

@customers PatientTable READONLY 

SELECT item 
FROM dbo.customerTable 
WHERE customerId IN (SELECT customer FROM @customers) 

我希望你能现在明白我的问题。 在此先感谢

电贺

+0

我在WHERE子句中想到一些IF-ELSE LIKE语句。当'选择全部'时,然后返回整个视图,否则只有表格 – alexstdev

+0

中的客户是@patients,你不用它? – Tanner

+0

哦,这是我忘记正确编辑它。 – alexstdev

回答

1

尝试这样

SELECT item 
FROM dbo.customerTable 
WHERE ISNULL(customerId,'') IN (SELECT Customer FROM @customers) 

看看

ISNULL

+0

谢谢你解决了! – alexstdev