Avatar billede vessel Nybegynder
22. maj 2006 - 12:06 Der er 9 kommentarer og
1 løsning

SQL udtræk hjælp

SELECT DISTINCTROW
[Kunder forespørgsel].KundeId,
[Kunder forespørgsel].Firmanavn,
[Kunder forespørgsel].Postnr,
[Kunder forespørgsel].Service1,
[Kunder forespørgsel].Service2,
[Kunder forespørgsel].[Antal Porte],
[Kunder forespørgsel].By
FROM [Kunder forespørgsel]
WHERE [Kunder forespørgsel].Service1 > 0

Her får jeg så en fin liste...
Der findes en tabel 'faktura' som jeg gerne vil have den nyeste dato med hvor type = 'ÅrligService'
Hvordan gør jeg det
Avatar billede jensen363 Forsker
22. maj 2006 - 12:15 #1
SELECT Max(Faktura.[Årlig service]) AS [MaksOfÅrlig service]
FROM Faktura;
Avatar billede vessel Nybegynder
22. maj 2006 - 12:22 #2
Det skal med på den samme forespørgsel...?
Avatar billede jensen363 Forsker
22. maj 2006 - 12:32 #3
SELECT DISTINCTROW
[Kunder forespørgsel].Kundeid,
[Kunder forespørgsel].Firmanavn,
[Kunder forespørgsel].Postnr,
[Kunder forespørgsel].Service1,
[Kunder forespørgsel].Service2,
[Kunder forespørgsel].[Antal Porte],
[Kunder forespørgsel].By,
Max(Faktura.[Årlig Service]) AS [MaksOfÅrlig Service]
FROM [Kunder forespørgsel]
INNER JOIN Faktura ON [Kunder forespørgsel].Kundeid = Faktura.Kundeid
GROUP BY [Kunder forespørgsel].Kundeid,
[Kunder forespørgsel].Firmanavn,
[Kunder forespørgsel].Postnr,
[Kunder forespørgsel].Service1,
[Kunder forespørgsel].Service2,
[Kunder forespørgsel].[Antal Porte],
[Kunder forespørgsel].By
HAVING ((([Kunder forespørgsel].Service1)>0));
Avatar billede vessel Nybegynder
22. maj 2006 - 12:53 #4
SELECT
[Kunder forespørgsel].KundeId,
[Kunder forespørgsel].Firmanavn,
[Kunder forespørgsel].Postnr,
[Kunder forespørgsel].Service1,
[Kunder forespørgsel].Service2,
[Kunder forespørgsel].[Antal Porte],
[Kunder forespørgsel].By,
Max(Faktura.dato) AS Sidste_Årlige
FROM [Kunder forespørgsel]
INNER JOIN Faktura ON [Kunder forespørgsel].Kundeid = Faktura.Kundeid
GROUP BY [Kunder forespørgsel].Kundeid,
[Kunder forespørgsel].Firmanavn,
[Kunder forespørgsel].Postnr,
[Kunder forespørgsel].Service1,
[Kunder forespørgsel].Service2,
[Kunder forespørgsel].[Antal Porte],
[Kunder forespørgsel].By
HAVING ((([Kunder forespørgsel].Service1)>0));

Vi nærmer os - men datoen er den sidste dato der er lavet faktura på - det skal være den sidste dato hvor typen = 'ÅrligService'
Avatar billede jensen363 Forsker
22. maj 2006 - 12:56 #5
Hvad er 'Årlig service' ... en dato / ja/nej eller hvad
Avatar billede vessel Nybegynder
22. maj 2006 - 12:59 #6
Ingenting :)
Tabellen faktura består bl.a. af:
KundeID
Dato
Type (og typen kan være Rep,Kontrol eller ÅrligService
Avatar billede jensen363 Forsker
22. maj 2006 - 13:01 #7
SELECT DISTINCTROW [Kunder forespørgsel].Kundeid, [Kunder forespørgsel].Service1, Max(Faktura.[Årlig Service]) AS [MaksOfÅrlig Service], [Kunder forespørgsel].Type
FROM [Kunder forespørgsel] INNER JOIN Faktura ON [Kunder forespørgsel].Kundeid = Faktura.Kundeid
GROUP BY [Kunder forespørgsel].Kundeid, [Kunder forespørgsel].Service1, [Kunder forespørgsel].Type
HAVING ((([Kunder forespørgsel].Service1)>0) AND (([Kunder forespørgsel].Type)="Årlig service"));
Avatar billede vessel Nybegynder
22. maj 2006 - 13:33 #8
Den sidste gik helt i kage...
Den bedste er:

SELECT
[Kunder forespørgsel].KundeId,
[Kunder forespørgsel].Firmanavn,
[Kunder forespørgsel].Postnr,
[Kunder forespørgsel].Service1,
[Kunder forespørgsel].Service2,
[Kunder forespørgsel].[Antal Porte],
[Kunder forespørgsel].By,
Max(Faktura.dato) AS Sidste_Årlige
FROM [Kunder forespørgsel]
INNER JOIN Faktura ON [Kunder forespørgsel].Kundeid = Faktura.Kundeid
GROUP BY [Kunder forespørgsel].Kundeid,
[Kunder forespørgsel].Firmanavn,
[Kunder forespørgsel].Postnr,
[Kunder forespørgsel].Service1,
[Kunder forespørgsel].Service2,
[Kunder forespørgsel].[Antal Porte],
[Kunder forespørgsel].By
HAVING ((([Kunder forespørgsel].Service1)>0)); 
Jeg prøve at skifte sidste linie ud med
HAVING ((([Kunder forespørgsel].Service1)>0)) AND ((([faktura].type)='ÅrligService'));
Men så brokker Access sig: Du har forsøgt at køre en forespørgsel, der ikke medtager det angivne udtryk "[kunder forespørgsel].Service1 >0 And [faktura].type='ÅrligService'" som en del af en aggregatfunktion
Avatar billede vessel Nybegynder
29. maj 2006 - 11:32 #9
Jensen: Jeg fik det ikke til at virke vha. et enkelt SQL udtræk, men fik løst opgaven på anden vis. Hvis du lægger et svar, så deler vi pointene. Du gjorde mig alligevel en del klogere :)
Avatar billede jensen363 Forsker
29. maj 2006 - 11:47 #10
no need :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester