SQL - 从2个表

时间:2017-05-14 08:11:39

标签: php mysql sql

我已经阅读过有关从2个表中获取查询的其他主题,但我现在还不知道如何实现我的问题。

有一个Feed页面,用户可以从表A 按日期排序查询。还有另一个包含一些查询的表B 。我需要从两个表中获取查询,混合它们,并按日期排序。

表A

----id----  ----date---- ----post----
1           20170514     post 1
2           20170512     post 3
3           20170510     post 5

表B

----id----  ----date---- ----post---- ----thread----
1           20170513     post 2       1
2           20170511     post 4       2

SELECT * FROM tableA WHERE post!="" AND date!=""SELECT * FROM tableB WHERE post!="" AND date!=""

输出(在plaint文本到屏幕)应该是:

  1. 表:表A,帖子:帖子1,日期:20170514
  2. 表:表B,帖子:帖子2,日期:20170513
  3. 表:表A,帖子:帖子3,日期:20170512
  4. 表:表B,帖子:帖子4,日期:20170511
  5. 表:表A,帖子:帖子5,日期:20170510

2 个答案:

答案 0 :(得分:0)

您可以像这样使用UNION

SELECT id, date, post FROM TABLEA
WHERE date IS NOT NULL AND
post IS NOT NULL
UNION
SELECT id, date, post FROM TABLEB
WHERE date IS NOT NULL AND
post IS NOT NULL

您可能需要为表使用别名。

答案 1 :(得分:-1)

如果您希望查看包含两个表格的结果集,请执行以下操作:行,您应该使用JOIN,但在这种情况下,您应该能够连接这两个表。例如,如果您有一个product表和一个product_details,那么您应该在第二个表上有一个字段,例如product_id,该字段指向现有产品的ID。你可以在这里找到更多信息:

https://www.w3schools.com/sql/sql_join.asp

否则你可以尝试使用UNION来组合两个以上多个SELECT语句的结果:

https://www.w3schools.com/sql/sql_union.asp