我不知道我的问题是否可以理解, 情况喜欢这样: 我有两个查询,它们具有显示面板ID和左点的相同要求,但一个是仍然获得2000积分的客户,一个是已经兑换一次的客户,我在下面写下两个查询。
1)
select panel_ID,current_points_balance, sum(points_earned) as totalpoint
from Tbl_member, Tbl_member_participation
where tbl_member_participation.member_id = Tbl_member.member_id
group panel_Id, current_points_balance
having totalpoint > 2000
2)
select panel_ID,current_points_balance, sum(points_earned) as totalpoint
from Tbl_member, Tbl_member_redemption
where tbl_member_redemption.member_id = Tbl_member.member_id
group panel_Id, current_points_balance
所以我的问题是如何在一个查询中组合这两个条件,或者只在一个表中显示两个查询的两个结果?我不认为我可以简单地使用"或"把它们结合起来,这是我所知道的唯一方法。
答案 0 :(得分:4)
关键字UNION和UNION ALL用于连接两个查询的结果与SAME NO OF COLUMNS。
在您的查询中使用UNION语句。不确定以下内容是否适用于您的数据库。但是请尝试在任何问题上发表评论
select panel_ID,current_points_balance, sum(points_earned) as totalpoint
from Tbl_member, Tbl_member_participation
where tbl_member_participation.member_id = Tbl_member.member_id
group panel_Id, current_points_balance
having totalpoint > 2000
UNION
select panel_ID,current_points_balance, sum(points_earned) as totalpoint
from Tbl_member, Tbl_member_redemption
where tbl_member_redemption.member_id = Tbl_member.member_id
group panel_Id, current_points_balance
答案 1 :(得分:1)
如果你想将这些查询的结果合并到一个视图中,我的意思是你有两个colums panel_ID,current_points_balance,你想在同一列本身显示两个查询的结果,然后使用{{1} },UNION
UNION ALL
或者您可以使用
select
panel_ID, current_points_balance,
sum(points_earned) as totalpoint
from
Tbl_member, Tbl_member_participation
where
tbl_member_participation.member_id = Tbl_member.member_id
group
panel_Id, current_points_balance
having
totalpoint > 2000
UNION
select
panel_ID,current_points_balance,
sum(points_earned) as totalpoint
from
Tbl_member, Tbl_member_redemption
where
tbl_member_redemption.member_id = Tbl_member.member_id
group
panel_Id, current_points_balance
select
panel_ID,current_points_balance,
sum(points_earned) as totalpoint
from
Tbl_member, Tbl_member_participation
where
tbl_member_participation.member_id = Tbl_member.member_id
group
panel_Id, current_points_balance
having
totalpoint > 2000
UNION ALL
select
panel_ID,current_points_balance,
sum(points_earned) as totalpoint
from
Tbl_member, Tbl_member_redemption
where
tbl_member_redemption.member_id = Tbl_member.member_id
group
panel_Id, current_points_balance
和UNION
之间的区别只不过是union会消除所有重复的行,而union将不会消除重复的行
试试这个,如果有任何问题与此相关,请发表评论