Соедините две таблицы на основе идентификатора по времени
Мне нужно объединить две таблицы и порядок по дате двух таблиц..
Лекарственное средство
| 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..)
2 ответа
Решение
Если я правильно понимаю ваш вопрос, тогда вы хотите не объединение, а объединение.
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 был столбцом, содержащим порядковые номера строк. Насколько мне известно, вы не можете достичь этого в MySQL без временной таблицы (эксперты могут исправить меня здесь).
Наконец, если ваше datetime действительно время от эпохи, вам нужно использовать встроенную 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;
Вы ищете UNION в MySQL?
SELECT name, quantity, medicine, Takingtype FROM Medicine
UNION ALL
SELECT name, quantity, medicine, NULL FROM Surgical