我坚持使用T-SQL查询。我认为这是基本的。但我不知道。有人能够友好地阐明它吗?提前致谢!TSQL嵌套基本查询
这是我的问题。我想编写一个查询来执行以下任务:
原始数据:
Department Type Salary Age
1 1 1000 30
1 2 1500 31
1 3 2000 25
2 1 250 35
2 2 50 20
2 3 300 35
理想情况下,我想有一个表,其中有如下信息:
Department Type Salary Age
1 3 2000 25
1 2 1500 31
1 1 1000 30
2 3 300 35
2 1 250 35
选择基于每个部门的比较。我比较每个部门内每种类型的薪水。并选择同一部门的工资大于或等于第一类的人员。然后在每个部门内,记录按工资降序排列。
这是我的错误代码。
SELECT Department, Type, Salary, Age
FROM Database.dbo.Table1
WHERE Salary >=
(
SELECT Salary
FROM Database.dbo.Table1
WHERE Type = 1
GROUP BY Department
)
GROUP BY Department
我希望插图很清楚。如果不是,请随时告诉我。我可以更多地解释。
再次感谢!
达您好,感谢帮助!其实,支持是如此之快,我得到了鸡皮疙瘩......我尝试了你的代码,它正在工作!但是,你可以解释一下关于@t的一些信息吗?我看到@小老鼠/玫瑰/帽子签了很多,但不太明白它...... – Counter10000
@LinguisticsStudent - '@ t'是我给一个表变量的名字(T-SQL开始的大部分变量用'@')。一个表变量可以方便地编写快速的,一次性的代码来解答这里的问题,因为一旦SQL运行它就会消失 - 编写这个脚本后我不必清理。 (他们也有其他用途)。请参阅[这里](http://technet.microsoft.com/en-us/library/ms188927.aspx)以获取更多信息。 –
嗨达米安,感谢您的解释!我搜索了一下关键词。另一个问题是,我实际上使用了一个视图,而不是我工作中的表格。而且它不够奇怪...是因为它是一种视图吗?或者你有其他建议吗?我认为没有错字。代码被执行,但影响了0行。 – Counter10000