在 MS SQL Server 2008 中,有如下表:
CREATE TABLE SomeTable
(
MajorID int NOT NULL REFERENCES ...,
MinorID int NOT NULL,
Value int NOT NULL REFERENCES ...,
PRIMARY KEY(MajorID, MinorID)
)
我也有一组(Value0,Value1,...)。目标是找到所有这些 MajorID 至少列出一次集合中的每个值。MinorID 在此任务中并不重要。集合的大小不是预定义的,集合是在客户端应用程序中生成的。它的最大大小有一个合理的限制,比如 64。
我应该使用什么 SQL?
例子:
主要ID 次要ID 值 1 0 4 1 1 1 1 2 3 1 3 4 1 4 4 1 5 5 1 6 5 2 0 1 3 0 1 3 1 4
对于值列表 (1, 4),答案是 (1, 3),因为 MajorID 1 和 3 的每个值至少列出一次。