使用全部联合和单次排序从多个表中选择,php



我遇到了一个我似乎无法摆脱的错误。我对工会不太好我想遍历 4 个不同的表(使用 union all(并操纵它们的值以满足我的需求。我还需要使用单个"按日期排序 DESC"(日期是整数值(用于整个联合,以便我可以按模式排列输出,

当我添加"按日期排序"时,代码不起作用. 当我删除它时,第二个查询的值附加到第一个查询的名称上,我太困惑了。
我尝试"从table_name哪里选择*.....在这种情况下它不起作用,这就是为什么我必须拿出我需要的所有table_names查询,

基本上,我想在需要时唯一地回显查询中的每个值,任何帮助不胜感激,谢谢

<?php
$q114="(SELECT  id AS id1,text_post AS text_post1,likes AS likes1 
        FROM timeline_posts WHERE email='$owner_email') 
        UNION ALL (SELECT  pic_comment AS pic_comment2, comments AS comments2, date AS date2 
            FROM pictures WHERE email='$owner_email') 
        UNION ALL (SELECT image AS image3,likes AS likes3, comments AS comments3 
            FROM profile_pics WHERE email='$owner_email') 
        UNION ALL (SELECT  likes AS likes4, comments AS comments4, date AS date4 
            FROM friends_timeline_post WHERE timeline_email='$owner_email') 
        ORDER BY 'date' DESC";
$pages_query=mysqli_query($connect,$q114);
while($fetch9=mysqli_fetch_assoc($pages_query))        
{ 
    print_r($fetch9['likes3'] );
    //a lot of work to be done here
}
?>

为了"联合"多个选择的结果,并在多个选择的所有结果中按列名对这些结果进行排序,所有选择中的列名必须相同。

您可以向所有包含您的"数字"的选择添加一列,以便仍然能够区分"likes1"和"likes2",即使它们的列名称是您"联合"的所有选择的"likes"。

最新更新