改进MySQL查询以获取记录
我有一个名为progress的表,它为客户和成员存储不同类型的进度 我有一个MYSQL查询,它假设从客户端到成员以及从成员到客户端都获取进度数据。目前我有一个查询,查询方式如下改进MySQL查询以获取记录,mysql,sql,Mysql,Sql,我有一个名为progress的表,它为客户和成员存储不同类型的进度 我有一个MYSQL查询,它假设从客户端到成员以及从成员到客户端都获取进度数据。目前我有一个查询,查询方式如下 SELECT * FROM progress WHERE (client = 'XXXX' AND member = 'YYYY') OR (client = 'YYYY' AND member = 'XXXX') 它得到了我想要的结果,但是如何改进这个查询的编写方式呢 请帮忙,任何帮助都将不胜感激 提
SELECT *
FROM progress
WHERE (client = 'XXXX' AND member = 'YYYY')
OR (client = 'YYYY' AND member = 'XXXX')
它得到了我想要的结果,但是如何改进这个查询的编写方式呢
请帮忙,任何帮助都将不胜感激
提前感谢您尝试使用工会
SELECT * FROM progress WHERE (client = 'XXXX' AND member = 'YYYY')
UNION ALL
SELECT * FROM progress WHERE (client = 'YYYY' AND member = 'XXXX')
正如Barmar在评论
中所说,它不能变得更简单了
,但根据您编写此查询的问题,您有一些选择:
你可以使用工会
select * from progress where (client = 'xxxx' and member = 'yyyy')
union all
select * from progress where (client = 'yyyy' and member = 'xxxx')
您可以在语句中使用
select * from progress
where (client) in ('XXXX','YYYY')
and (member) in ('YYYY','XXXX');
您可以使用自己的解决方案
编辑
我忘了加小提琴了:看起来不错。再简单不过了。我想他实际上是想交换这两个角色,但复制错误了。如果XXXX
是一个数字,就不要使用'XXXX'
。很抱歉弄错了。我修正了问题为什么?请说明理由。联合是正确的选择,因为我怀疑会有重复的。