2015-01-01 3 views
0

Мне нужно сделать СУБД для автомобилей в доступе. Но у меня проблема. В моем предыдущем вопросе я получил этот код, и он решил мою первую проблему. Но теперь я получаю только колонки TotalPrijs, AutoNR и Klasse. Но мне также нужны: Factuur.Dagen, Factuur.KlantNR и т. Д. Я обычно делал это с помощью SELECT, но теперь код более сложный, и я не знаю, как его получить, не получив ошибку.Добавление других столбцов Доступ

Это мой код.

SELECT 
SUM(A.TotaalPrijs) As TotaalPrijs, 
A.AutoNR, 
A.AutoKlasse 
FROM 
(SELECT Factuur.Dagen, Factuur.AutoNR AS carNR, autos.AutoNR, autos.Klasse AS AutoKlasse, Prijzen.Klasse, Prijzen.dag125KM, Prijzen.ExtraKM, (prijzen.dag125KM*Factuur.Dagen) AS MinPrijs, Factuur.FactuurNR, Factuur.KlantNR, Factuur.Begindatum, Factuur.Einddatum, Factuur.Borg, (((([Factuur]![EindKMStand]-[Factuur]![BeginKMStand])-([Factuur]![Dagen]*125))*[Prijzen]![ExtraKM])+([Prijzen]![dag125KM]*[Factuur]![Dagen])) AS TotaalPrijs, Gegevens.voorletters, Gegevens.tussenvoegsel, Gegevens.achternaam, Gegevens.straatnaam, Gegevens.huisNR, Gegevens.Postcode, Gegevens.rekeningNR, Gegevens.Plaats, (([Factuur]![EindKMStand]-[Factuur]![BeginKMStand])-Dagen*125) AS KMteVEEL 
     FROM autos, Factuur, Prijzen, Gegevens 
     WHERE (((Factuur.AutoNR)=Autos.AutoNR) And ((autos.Klasse)=Prijzen.Klasse) And ((Factuur.KlantNR)=Gegevens.KlantNR)) 
) AS A 
GROUP BY 
    A.AutoNR, A.AutoKlasse 

как добавить Factuur.Dagen и Factuur.KlantNR и мои другие столбцов?

+0

В группе, в которой говорится, что 'AutoNR =" 1 "и' AutoKlasse = "2" ', сколько значений« Даген »являются квалифицированными? –

+0

Даген - это всего лишь значение в таблице Factuur. – Jesse

ответ

0

Когда вы сгруппировали данные в свои руки, а ваш SELECT ожидает только одного из них ... SOmehow вы выберете одно логическое значение.

Именно поэтому мы используем функцию AGGREGATE. Точно так же, как SUM() сделал добавление всего TotaalPrijs в свои сгруппированные данные. Принимая MAX(Dagen), вы получите одно значение из этой группы.

SELECT 
SUM(A.TotaalPrijs) As TotaalPrijs, 
A.AutoNR, 
A.AutoKlasse, 
MAX(Factuur.Dagen) -- < you need just this..! 

ИЛИ добавить этот столбец в состоянии группировки, как хорошо!

GROUP BY A.AutoNR, A.AutoKlasse,Factuur.Dagen 
+0

Спасибо! но это просто работало для 1 колонки :(Мне нужно добавить еще несколько столбцов из таблиц: Gegevens, Factuur, Autos и Prijzen. Любое решение, которое я могу получить больше, чем 1? – Jesse

+0

Даже логически вы не можете выбрать случайное из группы. SO, добавьте агрегатную функцию ко всем вашим столбцам. !!! –

+0

Спасибо, что вы решили проблему! Будет ли опубликовать мой последний вопрос сейчас в другом сообщении. – Jesse

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