根据id按时间顺序连接两个表

Join two Tables based on id order by time

我需要合并两个表并按两个表的日期排序..

医学

| Id | Patientid | Name | Quantity |  medicine name | Takingtype | Epoch     |
===============================================================================
|  1 |       12  | raja | 20       | Ampicillin     |    1-1-1   | 1420446675|

手术

| Id | Patientid | Name | medicine name | Quantity | Epoch      |
=======================================================================
|  1 |       12  | raja | Mucinex oral  | 10       | 1420446675 |

谁能帮帮我? 结果应该是这样的,

|s.no| Date     | Name | Quantity  |  medicine name | Takingtype |
=================================================================
|  1 | 1-5-2015 | raja |  20       | Ampicillin     |    1-1-1   |
|  2 | 1-5-2015 | raja |  10       |Mucinex oral    |            |

请帮我像上面显示的那样加入表格。我正在寻找 mysql 查询..

(我已将纪元时间更改为 php 中的日期。)

您是在MySQL中寻找UNION吗?

SELECT name, quantity, medicine, Takingtype FROM Medicine
UNION ALL
SELECT name, quantity, medicine, NULL FROM Surgical

如果我没看错你的问题,那么你想要的不是连接,而是联合。

select * from (
    select Name, Quantity, MedicineName, Epoch, Takingtype From Medicine
        union all 
    select Name, Quantity, MedicineName, Epoch, NULL From Surgical
) x order by epoch;

我还假设您希望 s.no 成为包含行序号的列。据我所知,如果没有临时 table,你无法在 MySQL 中真正实现这一点(专家可能会在这里纠正我)。

最后,如果您的日期时间确实是纪元时间,您需要使用 FROM_UNIXTIMESTAMP 内置函数,类似于

select * from (
    select FROM_UNIXTIMESTAMP(Epoch) AS Date, Name, Quantity, MedicineName, Epoch, Takingtype From Medicine 
        union all 
    select FROM_UNIXTIMESTAMP(Epoch) AS Date, Name, Quantity, MedicineName, Epoch, NULL From Surgical
) x order by epoch;