sql – 使用复合键查询WHERE_IN?

假设我有一个包含两部分组合键的表,以及4条记录,如下所示:

KEY_PART_1 KEY_PART_2
A          1
B          1
C          2
C          3

我想编写一些动态SQL,只使用“WHERE IN”子句选择记录B,1和C,而不选择A,1或C,3.

有没有办法在没有临时表的情况下做到这一点?

这并不重要,但我们目前正在使用Oracle,并希望尽快转向PostgreSQL.

解决方法

此语法适用于Oracle和PostgreSQL:

SELECT *
  FROM table_name
 WHERE (key_part_1,key_part_2) IN ( ('B',1),('C',2) );

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。