Sqlite3 повторяет значение в другие даты - PullRequest
0 голосов
/ 20 мая 2018

. Соответствующие таблицы:

data_incidencia.data_incidencia.

data_ticket.

data_ticket.

Мой запрос следующий

select t1.hurtos, t2.fallas,t3.ticket, t1.fecha_carga
from 
(select count(ttc) as hurtos,
fecha_carga from data_incidencia
where campo_key_id = 2
group by fecha_carga) t1,
(select count(ttc) as fallas, 
fecha_carga from data_incidencia
where campo_key_id = 1
group by fecha_carga) t2,
(select count(ticket) as ticket, 
fecha_solicitud as fecha_carga from data_ticket ) t3 
where t1.fecha_carga =t2.fecha_carga;

и вывод:

output

, но желаемый вывод:

enter image description here

обратите внимание, что «билет» является повторяющимся значением в 2018-05-16, где нет билетов, вероятно, что-то глупое, как в случае, когда или группировать, но я не могу понять это.

Любойидеи, как мне исправить этот запрос?

1 Ответ

0 голосов
/ 20 мая 2018

У вас есть три подзапроса, t1, t2 и t3.

t1 и t2 объединены, но t3 нет, поэтому вы получаете неявный cross join .

Имена столбцов, которые вы используете, выглядят так, как будто вы хотите объединить все три в одном столбце:

SELECT t1.hurtos, t2.fallas, t3.ticket, t1.fecha_carga
FROM (...) AS t1,
     (...) AS t2,
     (...) AS t3
WHERE t1.fecha_carga = t2.fecha_carga
  AND t1.fecha_carga = t3.fecha_carga;

И неявные объединения устарели с тех пор1992;лучше использовать явные объединения:

SELECT t1.hurtos, t2.fallas, t3.ticket, fecha_carga
FROM (...) AS t1
JOIN (...) AS t2 USING (fecha_carga)
JOIN (...) AS t3 USING (fecha_carga);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...