因为我已经使用它很长一段时间了,所以我在SQL上很生疏,即使有,我也很少需要执行复杂的查询。复杂的复合SQL查询
我有一个数据列的数据库,如下所示:
Key, Instance, User ID, Day, Size
重点 - 这是主键。
实例 - 这是特定实例的描述符(这将是唯一的)。
用户ID - 这将引用多个用户中的一个,其中该数字将小于此表中的条目数。
日期 - 这是特定用户创建此实例的那天。这将是第1天或第2天之一。
大小 - 这是存储的数据大小。
现在并非所有用户都会在两天内创建实例(尽管他们可能在任一天都创建了多个实例)。
一个查询,将选择在第1天的最大尺寸,其中用户ID也创造了第2天
我完全失去了作为从哪里开始对这个实例的实例后,我一。
我编写了一些C#代码,用于过滤从更简单的SQL查询返回的结果,但它太慢,无法给我想要的结果。
我是否希望从SQL中得到太多(即我所要求的甚至可能)?如果任何人都可以给我一个这样的查询的例子,并解释大概复合查询的每个步骤在做什么?
谢谢!
这个答案乍看起来并不像乍一看那样完美,但仍然让我对复合查询的理解远远超过了我,所以非常感谢! :) – Goz
答案是实际上给你正确的发展方向;) –
我不确定这个将按照你的指定工作。请参阅“Where exists(从Table1中选择UserId,其中Day ='Day 2')”仅检查id是否存在带有Day2的表中的任何记录。因此,它与用户的第1天和第2天的状态无关。 – athabaska