我知道這聽起來倒退,但我正在尋找一種方法來搜索組中不包含特定字段的記錄組。SQL:查找不存在的條目
我們接收來自多家公司的電子郵件數據,將數據解析到我們的數據庫中,然後檢索數據供我們使用。例如,電子郵件可能會通過姓名,地址,城市,州,郵編和電話來通過。這些屬性中的每一個都存儲在不同的行中,這些行通過一個常見的email_id關聯(我知道這是多麼的低效,我繼承了這個並且在不久的將來會改變它)。
下面是一些行的例子:
ID EmailID Field_Name Field_Value 1234 4556 Name Joe Bob 1235 4556 Address 123 Main St. 1236 4556 City New York 1237 4556 State New York 1238 4556 Zip 1239 4556 Phone 1112223333 1240 4557 Name Joe Bob 1241 4557 Address 123 Main St. 1242 4557 City New York 1243 4557 State New York 1244 4557 Zip (no phone field for email_id 4557 on purpose)
當我取回這個數據我指定的SELECT語句中的字段(SELECT姓名,地址,...),並於最近開始得到一個錯誤「我找不到電話字段」,我相信這意味着其中一組電子郵件沒有輸入「電話」字段。
我的兩難困境是如何尋找缺失的東西。我希望能夠運行一個查詢,該查詢將返回沒有關聯的「電話」字段的任何電子郵件的emailID。使用上面的數據,查詢將返回emailID 4557,因爲它沒有電話字段。
我在MSSQL Server 8上,如果有問題。
TIA, 布賴恩
僅供參考,您將在Microsoft SQL Server 2008上,沒有版本8 :) – JNK 2011-03-23 13:55:48