在MySQL中是否有任何方法,以下查询返回3个结果而不是2?
select * from products p where p.id in (303022, 287769, 303022)
答案 0 :(得分:0)
如果你想要两次303022的值,你可以使用UNION ALL查询该行,否则,使用该查询它将始终只返回两个(假设表中的id不重复):
select * from products p where p.id in (303022, 287769)
UNION ALL
select * from products p where p.id = 303022
答案 1 :(得分:0)
您可以通过加入子查询并使用UNION ALL
在子查询中重复ID来执行此操作。
例如:
select p.*
from products p
inner join
(
select 303022 as id
union all select 287769
union all select 303022
) sub_query on sub_query.id = p.id