我有一個挑戰,我沒有在過去兩天使用存儲過程和SQL 2008克服。表減法挑戰
我採取了幾種方法,但必須失敗。
一個非常有趣的appraoch使用表減法。
這真的是關於表減法。
我想知道如果你能幫我解決這個問題。
我們的難題是:
兩個表1Testdbÿ2Testdb。
我的第一步是在表2Testdb中爲一個給定的個體([2Testdb] .Bus_id)選擇ID關係([2Testdb] .Acc_id)。然後查詢表1Testdb中的記錄,而不是從2Testdb中選擇我的原始選擇。
但是其他方法是受歡迎的。
數據與結構:
USE [Challengedb]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [DBO]。[1Testdb](
[Acc_id] [uniqueidentifier] NULL
[Name] [Varchar(10)] NULL
)ON [PRIMARY]
GO
CREATE TABLE [DBO]。[2Testdb](
[Acc_id] [uniqueidentifier] NULL,
[Bus_id] [uniqueidentifier] NULL
)ON [PRIMARY]
GO
個記錄上1Testdb:
34455F60-9474-4521-804E-66DB39A579F3,約翰
C23523F6-2309-4F58-BB3F-EF7486C7AF8B,皮特
DC711615-3BE4-4B31-9EF2,B1314185CA62戴夫
E3AAB073-2398-476D-828B-92829F686A4C,亞當
記錄上2Testdb:(關係表,恩。朋友關係)
記錄#1:DC711615-3BE4-4B31-9EF2-B1314185CA62,34455F60-9474-4521-804E-66DB39A579F3
記錄#2:E3AAB073-2398-476D-828B-92829F686A4C,34455F60- 9474-4521-804E-66DB39A579F3
記錄#3:DC711615-3BE4-4B31-9EF2-B1314185CA62,E3AAB073-2398-476D-828B-92829F686A4C
記錄#4:E3AAB073-2398-476D-828B- 92829F686A4C,DC711615-3BE4-4B31-9EF2-B1314185CA62
挑戰:從表1Testdb只有那些與表2Testdb上的John [34455F60-9474-4521-804E-66DB39A579F3]沒有關係的記錄不同。
預期結果應該是(誰不約翰沒有與關係?):
C23523F6-2309-4F58-BB3F-EF7486C7AF8B,皮特
謝謝 瓦倫丁
感謝您的快速回復。 這非常接近目標結果。 只剩下挑戰的一部分,它也帶來了約翰的記錄。 如何從答案中排除John? [34455F60-9474-4521-804E-66DB39A579F3] 記住我只想C23523F6-2309-4F58-BB3F-EF7486C7AF8B,Petes記錄 問候, 瓦爾 – Val 2010-06-17 17:45:36
的「和a.acc_id <>」 ... ''在最後應該排除約翰的行。這不行嗎?它後來被編輯過,所以你最初可能沒有看到它。 – MisterZimbu 2010-06-17 17:49:07
第一次看到了。但它的工作。謝謝。 Val – Val 2010-06-17 18:08:53