У меня есть две таблицы. They are in Heidi мне нужна таблица, как: RezultКак оптимизировать внутреннее соединение
Стараюсь следующий SELECT:
SELECT accounts.name, accounts.account_id,date,
(case when accounts.account_id = results.account_id then date end) AS Dat,
results.account_id
FROM results
INNER JOIN accounts
group by date,dat,name
order by accounts.account_id ,date
Но у меня есть лишние поля. помогите избавиться от них.
Дополнительно: Я должен показать таблицу, как это:
--------------------01.2010----02.2010-----03.2010---nextDate
Revenues ----------'x'------------'x'---------'null'---------------------
Personal Costs-----'x'------------'x'---------'x'---------------------
Amortisation---------'x'------------'x'---------'null'---------------------
Summa---------------'3x'-----------'3x'---------'1x'---------------------
Я использую следующий выбор:
SELECT
GROUP_CONCAT(revenues SEPARATOR ';')as Renenues,
GROUP_CONCAT(personal SEPARATOR ';')as Personal,
GROUP_CONCAT(amortisation SEPARATOR ';')as Amortisation
from (SELECT date,
sum(case when accounts.account_id = 1 then 1 else 0 end) as revenues,
sum(case when accounts.account_id = 2 then 1 else 0 end) as personal ,
sum(case when accounts.account_id = 3 then 1 else 0 end) as amortisation
from accounts
left JOIN results on accounts.account_id = results.account_id
group by date
) t
UNION ALL
SELECT
sum(case when results.account_id = 1 then 1 ELSE 0 end) ,
sum(case when results.account_id = 2 then 1 else 0 end) ,
sum(case when results.account_id = 3 then 1 else 0 end)
from results
Тогда я покажу строку таблицы из моей строки: 'GROUP_CONCAT'. Можно сделать так, чтобы SELECT не знал номер «accounts.account_id» или оптимизировал этот SELECT? Я пробовал первый SELECT, но получаю много ненужной информации.
это не работает. Мне нужно «Null» volue, когда нет «даты» для некоторых учетных записей. – user3205692
@ user3205692, а затем просто измените с INNER JOIN на LEFT JOIN – DRapp
@ user3205692, в этом случае используйте LEFT OUTER JOIN. См. Редактирование в ответ. – Rahul