2016-05-15 4 views
3

Пожалуйста, кто-то может мне помочь.присоединяйтесь к запросу по дате

Мне нужно присоединиться к этим двум запросам и сгруппировать по часам. Результат запроса может иметь много дней.

РЕЗУЛЬТАТ: Query1

SELECT DATE_FORMAT(Venta.fechaImpresion, "%h") AS fechaImpresion2, COUNT(*) AS total 
FROM `Venta` 
WHERE Venta.fechaImpresion LIKE "2016-05-02 %" 
GROUP BY HOUR(Venta.fechaImpresion) , DAY(Venta.fechaImpresion) 
LIMIT 0 , 30 

РЕЗУЛЬТАТ: Query2

SELECT DATE_FORMAT(Venta.fechaImpresion,"%h") as fechaImpresion FROM `Venta` 
where Venta.fechaImpresion >= "2016-05-02" and Venta.fechaImpresion <= "2016-05-09" 
GROUP BY hour(Venta.fechaImpresion) 

Если я пытаюсь вступил в одном запросе результат равны нулю.

SELECT DATE_FORMAT(Venta.fechaImpresion, "%h") AS fecha, dia1.total AS total1 
FROM `Venta` 
LEFT JOIN (

SELECT DATE_FORMAT(Venta.fechaImpresion, "%h") AS fechaImpresion 
FROM `Venta` 
WHERE Venta.fechaImpresion >= "2016-05-02" 
AND Venta.fechaImpresion <= "2016-05-09" 
GROUP BY HOUR(Venta.fechaImpresion) 
)fecha ON fecha.fechaImpresion = Venta.fechaImpresion 
LEFT JOIN (

SELECT DATE_FORMAT(Venta.fechaImpresion, "%h") AS fechaImpresion2, COUNT(*) AS total 
FROM `Venta` 
WHERE Venta.fechaImpresion LIKE "2016-05-02 %" 
GROUP BY HOUR(Venta.fechaImpresion) , DAY(Venta.fechaImpresion) 
)dia1 ON (dia1.fechaImpresion2 = fecha.fechaImpresion) 
WHERE Venta.fechaImpresion >= "2016-05-02" 
AND Venta.fechaImpresion <= "2016-05-09" 
GROUP BY HOUR(Venta.fechaImpresion) 
+0

Вы хотите присоединиться к часу, даже если они из разных дней? – Nicarus

+0

нет, с того же дня – user3259091

+1

Возможно, вы захотите изучить использование EXTRACT (DAY_HOUR FROM fechaImpresion) 'для ваших JOINs и др. – Nicarus

ответ

0

Вы можете попробовать, как этот

Выбор столбца b.second таблицы, а. * Из первой таблицы, а вторая таблица, в которой a.date столбец = b.date колонка

0

Я бы рекомендуется использовать две отдельные ручки для таблиц. Что-то вроде этого:

SELECT DATE_FORMAT(v1.fechaImpresion, "%h") AS fechaImpresion2, COUNT(v1.*) AS total, DATE_FORMAT(v2.fechaImpresion,"%h") as fechaImpresion 
FROM `Venta` v1, 'Venta' v2 where v1.fechaImpresion = v2.fechaImpresion 

Затем вы можете применить различные критерии даты, как вам хотелось бы.

Смежные вопросы