【发布时间】:2014-11-25 10:08:49
【问题描述】:
我有下表:
表名:耶
id | tagname | value
----+---------+---------
0 | Farbe | Gelb
0 | Preis | 1.15
0 | Thema | Herbst
1 | Farbe | Maigrün
1 | Preis | 1.15
1 | Thema | Herbst
2 | Farbe | Schwarz
2 | Preis | 1.15
2 | Thema | Sommer
我想要的是获取一个 id 的所有行,其中一个或多个条件满足,一个或多个不满足。
例如,如果我希望所有id 及其行在表中tagname='Preis'、value='1.15' 和tagname=Thema、value='Herbst' 满足,但不希望id 其中tagname='Farbe'、@ 987654329@ 变为真。结果应如下所示:
id | tagname | value
----+---------+---------
0 | Farbe | Gelb
0 | Preis | 1.15
0 | Thema | Herbst
1 | Farbe | Maigrün
1 | Preis | 1.15
1 | Thema | Herbst
当满足至少一个包含条件时,包含满足条件的id 的所有行都将出现在结果中。
但如果至少满足一个排除条件,则结果中不会出现对应的id行。
【问题讨论】:
标签: sql postgresql filter