0
我有一个表中有大量小时花费的条目。我试图根据日期的某些特征花费数小时。我的查询将与此任务竞争,但如果某个日期的特定特征集没有值,则该日期将不会返回任何数据。如果我使用不同的连接类型加入表,我知道如何解决这个问题,但当连接处于where语句时,我不知道该怎么做。加入子查询和丢失数据
SELECT
t1.dates,
t1.hours1,
t2.hours2,
t3.hours3,
t4.hours4
FROM
(
SELECT
dates,
SUM(times) AS hours1
FROM mytable
WHERE
characterisics1
GROUP By dates
) t1,
(
SELECT
dates,
SUM(times) AS hours2
FROM mytable
WHERE
characterisics2
GROUP By dates
) t2,
(
SELECT
dates,
SUM(times) AS hours3
FROM mytable
WHERE
characterisics3
GROUP By dates
) t3,
(
SELECT
dates,
SUM(times) AS hours4
FROM mytable
WHERE
characterisics4
GROUP By dates
) t4
WHERE
t1.dates = t2.dates and t1.dates = t3.dates and t1.dates = t4.dates
ORDER BY
t1.dates DESC
请不要使用隐式联接。他们是一种很差的编程技术。 – HLGEM