Я хочу получить сводные данные из таблицы «Данные» для всех компаний в таблице «Компании», включая пустые строки, в которых нет данных в Data. .(другой) LEFT JOIN issue with ACCESS
Если я суммировать данные в вложенном ЗЕЬЕСТЕ (или в хранимом запросе я не получаю ничего из таблицы данных, например
Это суб выбрать
SELECT transco,
sum(m1) AS Jan15,
FROM data
WHERE (QVmeasure = 'Vol')
GROUP BY QVmeasure, transco
, который выводит:
transco Jan15
0292 154373665
1419 134915098
Если я использую его в суб выбрать следующие
SELECT c.SAP_Code,
Jan15
FROM Companies AS c
LEFT JOIN (
SELECT transco,
sum(m1) as Jan15
FROM data
WHERE (QVmeasure = 'Vol')
GROUP BY QVmeasure, transco)
AS d
ON c.SAP_Code = d.transco
я получаю:
SAP_Code Jan15
0292
1419
я могу получить правильный результат с помощью временной таблицы:
SELECT sum(m1) as Jan15,
transco
INTO Temp_Table
FROM data
WHERE (QVmeasure = 'Vol')
GROUP BY QVmeasure, transco
следуют
Select c.SAP_code,
jan15
FROM companies AS c
LEFT JOIN Temp_Table as i
ON (c.SAP_Code = i.transco)
дает:
SAP_code jan15
0292 154373665
1419 134915098
1423
, но если я использую временные таблицы, мне придется создавать макросы, и я хочу, чтобы пользователи могли запускать только запрос.
Следующие работы для этого простого случая, но я не могу применить это в других обстоятельствах:
SELECT c.SAP_Code,
sum(m1) AS Jan15
FROM Companies AS c
LEFT JOIN data as d
ON c.SAP_Code = d.transco
WHERE (d.QVmeasure = 'Vol') OR (d.QVmeasure is null)
GROUP BY d.QVmeasure,c.sap_code
там что-то не так с моим суб выбора синтаксиса или это ACCESS (2013)
ТИА
'QVmeasure' не должно быть в' GROUP BY ', поскольку он используется только в предложении WHERE. Но это вряд ли проблема. Это * должно * работать с ИМО. --- Если вы еще не решили его сейчас, можете ли вы загрузить образец базы данных только с двумя таблицами (содержащими несколько примеров записей) в хост-файл? – Andre