新しいテーブルにビューをコピーしました。ただし、一部のレコードはビューには存在しますが、テーブルには存在しません。どのようにこれを克服するためにレコードがありません
DECLARE @email NVARCHAR(256)='[email protected]'
SELECT vw_DirectoryData.Email, tblDirectoryData.Email AS [Email in Table]
FROM vw_DirectoryData LEFT OUTER JOIN
tblDirectoryData ON vw_DirectoryData.Email = tblDirectoryData.Email WHERE [email protected]
SELECT vw_DirectoryData.Email, tblDirectoryData.Email AS [Email in Table]
FROM vw_DirectoryData LEFT OUTER JOIN
tblDirectoryData ON vw_DirectoryData.Email = tblDirectoryData.Email WHERE tblDirectoryData.Email IS null
Result:
Email
Email in Table
[email protected]
NULL
(1 row(s) affected)
Email Email in Table
(0 row(s) affected)
何かアドバイス:
DECLARE @email NVARCHAR(256)='[email protected]'
SELECT Email FROM dbo.vw_DirectoryData WHERE [email protected]
SELECT Email FROM dbo.tblDirectoryData WHERE [email protected]
SELECT Email FROM dbo.vw_DirectoryData WHERE email NOT IN(SELECT email FROM dbo.tblDirectoryData)
Result:
Email
[email protected]
(1 row(s) affected)
Email
(0 row(s) affected)
email
(0 row(s) affected)
が、私は別のapprocheを試してみました:私はNOT IN ... SELECTを使用する場合
さらに、私は不足しているすべてのレコードを見つけることができません問題?
サブクエリのアプローチを使用する場合、どのテーブルの電子メールアドレスを明示する必要があります。しかし、より良いアプローチはEXCEPTを使用することです。 https://msdn.microsoft.com/en-us/library/ms188055.aspx –
** 1 **:「電子メール」と「電子メール」(大文字または小文字の名前)という別々のフィールドがありますか、使用していますか大文字と小文字を区別しない列名を参照できる大文字小文字を区別しない照合? ** 2 **:ビューとテーブルの両方の行のカウント(つまり、COUNT(*))は一致していますか? COUNT(DISTINCT Email)はどうですか? – Phylyp