How do I combine the results of two queries with ordering?

前端 未结 2 1698
走了就别回头了
走了就别回头了 2020-12-15 07:11

How do you join the results of 2 queries, ordering by date?

SELECT * FROM table1 WHERE tag=\'1\'
SELECT * FROM table2 WHERE tag=\'3\'

table

相关标签:
2条回答
  • 2020-12-15 07:28

    You can use UNION ALL to get rows from both tables:

    SELECT id, article, author, tag, date FROM table1 WHERE tag = '1'
    UNION ALL
    SELECT id, article, author, tag, date FROM table2 WHERE tag = '3'
    ORDER BY date
    

    You may also want to consider restructuring your database so that instead of using two tables you use just a single table with a field to distinguish the type of each row. Then the query can simplify to:

    SELECT id, article, author, tag, date
    FROM yourtable
    WHERE (tag, type) IN (('1','type1'), ('3','type2'))
    ORDER BY date
    
    0 讨论(0)
  • 2020-12-15 07:29
    SELECT * 
    FROM   (SELECT * 
            FROM   table1 
            UNION 
            SELECT * 
            FROM   table2) t 
    ORDER  BY t.DATE 
    
    0 讨论(0)
提交回复
热议问题