1
以下の簡単なクエリがあります。しかし、なぜ私はフィールド名とエラー値のwhere句で無効な列名エラーを取得しているのかわかりません。無効な列名です。ERROR
select * From (
select [SubscriberDataId]
,Case When ISNUMERIC([SubscriberCode]) = 0 Then cast([SubscriberCode]as varchar(9)) Else '~' end as [SubscriberCode]
,Case When ISDATE([Dob]) = 0 Then Cast([Dob] as Varchar(9)) Else '~' end as [Dob]
,Case When ISNUMERIC([FacetsGroup]) = 0 Then cast([FacetsGroup]as varchar(9)) Else '~' end as [FacetsGroup]
from Facets.SubscriberData) [sd]
Unpivot
(ErrorValue for FieldName in ([SubscriberCode],
[Dob],[FacetsGroup])) as x
where x.ErrorValue <> '~' and
NOT EXISTS (SELECT *
FROM Elig.dbo.ErrorTable
WHERE TableName = facets.SubscriberData
AND FieldName IN([x].[SubscriberCode],[x].[Dob],[x].[FacetsGroup])
AND ErrorValue IN([SubscriberCode],[Dob],[FacetsGroup]))
を試してみてください、あなたが –
を助けたい場合は、それを自分で固定し始めるまでの時間が、私はそれがチルダとは何かを持っているひそか疑いを持っています。チルダの代わりに「なし」という単語を使用するか、おそらくNULLを使用してみてください。 –
SQL Server 2005 – Programmer