这是一个SQL专家的问题!如何短语2阶循环T-SQL SELECT查询?
我正在使用SQL SERVER 2008 R2 Express。
我有一张名为[myTable]
的表格由两种类型的记录组成。
第一类记录是主记录,第二类记录是[Relative]
记录。
每个主记录可能有多个相关记录。
我想SLELECT TOP 10 * FROM [myTable]
主记录,和联合子记录像 [Relative]
记录每个。
每个记录都有一个[PKID] NO NULL IDENTITY(1,1) PRIMARY KEY CLUSTERED
列。
我想我需要类似的东西:
SELECT TOP 10 * FROM [myTable] WHERE [Relative]=0
UNION
For each (SELECT TOP 10 [PKID] as Master, * FROM [myTable] WHERE [Relative]=0)
{SELECT TOP 4 * FROM [myTable] WHERE [Relative] = Master}
我应该如何纠正查询,以实现我的目标?
我有我怀疑有是它的一个简单的解决方案的二次问题:
相对记录有两种形式作为由列[IsImportant]
说明。
有没有办法确保每个主记录只能选择1个重要的相对记录?
如果有少于4个相对记录的话,有没有办法跳过主记录,而只有其中一个记录很重要?
您可以包括一些样本输入数据,长着什么你想要的输出是什么?你最后的改变让我感到困惑。 – MatBailie 2012-04-26 15:11:02