我需要创建一个包含多个表的查询,但我并不擅长这个。
我有7张桌子。
page1_table
page2_table
page3_table
page4_table
page5_table
page6_table
page7_table
所有表都将行用户ID作为主要和状态。
我需要一个获取所有*条件的查询;
WHERE status = 'No' AND userid = '".$_SESSION['userid']."'.
答案 0 :(得分:1)
尝试使用INNER JOIN
查询
"SELECT *
FROM page1_table a
INNER JOIN page2_table b
ON a.userid = b.userid
INNER JOIN page3_table c
ON b.userid = c.userid
INNER JOIN page4_table d
ON c.userid = d.userid
INNER JOIN page5_table e
ON d.userid = e.userid
INNER JOIN page6_table f
ON e.userid = f.userid
INNER JOIN page7_table g
ON f.userid = g.userid
WHERE a.status = 'No'
AND a.userid = '".$_SESSION['userid']."'"
答案 1 :(得分:1)
表的格式不清楚,但如果它们都具有相同的结构,您可以在CTE中将它们组合在一起并在CTE之后应用过滤器:
"select *
from (
select * from page1_table union all
select * from page2_table union all
select * from page3_table union all
select * from page4_table union all
select * from page5_table union all
select * from page6_table union all
select * from page7_table
) t
where t.status = 'No' AND t.userid = '".$_SESSION['userid']."'"