我对T-SQL查询有一个公认的新手问题(这很合理,因为我的确是T-SQL的新手)。构建一个T-SQL查询
考虑下表 -
Key | fieldName | Value
==============================
465 | Bing | 10
465 | Ping | 50
846 | Bing | 20
846 | Zing | 80
678 | Bing | 10
678 | Ping | 50
678 | Zing | 20
我将如何编写一个查询返回以下?
- 如果存在与字段名
Bing
和的10
价值行,返回所有与该键行,否则不返回有关该密钥的任何行。
在上面的例子中,结果集应如下 -
Key | fieldName | Value
==============================
465 | Bing | 10
465 | Ping | 50
678 | Bing | 10
678 | Ping | 50
678 | Zing | 20
虽然我知道,有可能的方式更好的方法来重新组织此表中存储的数据,我没有控制这一点。我很乐意阅读关于数据重组的任何意见,但我不能标记任何不能解决问题的答案,因为它目前存在。
谢谢你,帮我在我的解决办法。我开始担心我已经从我需要的实际查询中抽象出来了,但我最终还是到了那里。喜欢SQL Fiddle演示。 – 2013-03-05 15:18:29