【发布时间】:2014-08-16 20:38:39
【问题描述】:
我正在使用 postgresql 9.1 并希望从表中选择一条记录。详情如下:
表名:muser
表中存在的字段:用户 ID、用户名、名字、姓氏、电话号码和邮件 ID
要选择的字段:用户 ID、邮件 ID、电话号码
请求参数:mailid 和电话号码
需要满足的条件:
当两者都存在时显示一条记录
只有mailid存在时显示记录
仅在电话号码存在时显示记录。
预期输出:
单条记录(因为 userid 是唯一的) 使用用户名, 电话号码和 邮件编号
两者或任何一个(如果存在)。
我已尝试查询为:
SELECT userid, mailid, phonenumber
FROM muser
WHERE phonenumber = ? OR mailid = ?
它在前两个条件下工作正常,但对最后一个条件不起作用。当我为最后一个条件触发查询时,它会给出查询中存在的所有记录。为什么会这样?他们的查询有什么变化吗?或者别的什么
【问题讨论】:
-
你说的最后一个条件是什么意思?我在您提供的查询中只看到 2 个 where 子句元素。
-
我的意思是当我只输入 mailid 并且 phonenumber 不存在时,我得到了表中存在的所有记录
-
我只需要一个查询来检查他们在表中的记录是包含请求提供的电话号码或请求提供的 mailid 还是表中同时存在 phno 和 mailid 的记录??跨度>
标签: sql postgresql wso2esb