sql - postgresql 选择两列的组合

标签 sql

用户可以选择选项组合列表,然后搜索它们。

sql 可能看起来像这样。

select * from p where (option_type = 'X' and value = 'A') 
or (option_type = 'X' and value = 'B')
or (option_type = 'Y' and value = 'D')

但当然我不想有 n 个 or 的

一个好的 sql 看起来如何执行???用户可以选择多种选项组合。

谢谢。

最佳答案

不需要多个 OR:

select * 
from p 
where (option_type, value) in ( ('X' ,'A'), ('X','B'), ('Y','D') ) 

关于sql - postgresql 选择两列的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18833700/

相关文章:

php - 使用PHP将Json数据传输到MySQL

php - 通过用户 ID 选择对话的 SQL 请求

sql - 如何在 SELECT 语句中设置货币和小数的格式

sql - 将 SQL 查询转换为 ActiveRecord 查询

php - 是否可以将 sql 表值分配给 php 中的变量?

mysql - 获取对话列表查询

mysql - 插入查询不适用于具有外键的行

mysql - 如何简化这个sql查询

mysql - 如何在使用 IN 函数时获取 SELECT 查询中未返回任何行的值

php - 获取数据并检查一次查询中是否有 "Next Page"?