提前谢谢你的帮助,我来:
我有一张这样的桌子:
|Content | Syndication_type | Syndication_publication|
------------------------------------------------------
| A | 1 | 1 |
| A | 2 | 1 |
| B | 2 | 1 |
| C | 1 | 0 |
| D | 1 | 0 |
| D | 2 | 1 |
| E | 2 | 1 |
| F | 1 | 1 | 我需要获得只有一个syndication_type和syndication_publication = 1的内容。
例如,如果选择syndication_type = 2,就必须获得Content = B、Content = D和Content = E,因为它们只有syndication_publication = 1 For syndication_type = 2。
Content = 2不是这样的,因为它有Syndication_type = 1和Syndication_type = 2与Syndication_publication = 1,而Content = D是好的,因为它只有Syndication_publication = 2和Syndication_publication = 1。
我希望我能解释我的目的..。:)
非常感谢你的帮助。
发布于 2016-05-03 15:59:55
可以使用“不存在”
SELECT [Content]
FROM MyTable mt
WHERE [Syndication_type] = 2
AND NOT EXISTS (
SELECT 1
FROM MyTable mt2
WHERE mt2.[Content] = mt.[Content]
AND mt2.Syndication_publication = 1
AND mt2.Syndication_type <> mt.Syndication_type
)发布于 2016-05-03 15:07:47
尝试:
SELECT Content
FROM yourtable
WHERE Syndication_type = 1 -- your conditions
GROUP BY Content, Syndication_type
HAVING COUNT(DISTINCT Syndication_publication) = 1https://stackoverflow.com/questions/37007692
复制相似问题