Avatar billede dragnor Juniormester
17. marts 2003 - 02:08 Der er 5 kommentarer og
1 løsning

Underlig fejl-meddelse? Kan nogen hjælpe???

Jeg har lavet en forespørgsel som når jeg køre den virker, men åbner jeg så for SQL-sætningen uden at røre den og så prøver at gemme, så kommer den med en fejl-meddelse angående en parentes? WHERE A.BestillingsTidspunkt=B.BestillingsTidspunkt)<-- Den der peger den på?

Her er hele koden kan nogen finde fejlen?

SELECT TOP 1 *
FROM [SELECT Min(PostStart), Max(PostSlut), Count(Ialt) AS Antal
FROM
(SELECT (A.PostNr) AS PostStart, (B.PostNr) AS Postslut, (A.PostNr*10 + B.PostNr*10) AS Ialt
FROM
[SELECT Kunde.PostNr, Kunde.BestillingsTidspunkt
FROM  Kunde LEFT JOIN Adresser ON (Kunde.GadeNavn = Adresser.GadeNavn) AND (Kunde.GadeNr = Adresser.GadeNr)
WHERE Kunde.Dato=#09-01-2002#
UNION
SELECT Kunde.PostNr, Kunde.BestillingsTidspunkt
FROM Kunde RIGHT JOIN Adresser ON (Kunde.GadeNavn = Adresser.GadeNavn) AND (Kunde.GadeNr = Adresser.GadeNr)
WHERE Kunde.Dato=#09-01-2002#]. AS A,
[SELECT Adresser.PostNr, Kunde.BestillingsTidspunkt
FROM  Kunde LEFT JOIN Adresser ON (Kunde.DistriktSlut = Adresser.DistriktNr)
WHERE Kunde.Dato=#09-01-2002#
UNION
SELECT Adresser.PostNr, Kunde.BestillingsTidspunkt
FROM Kunde RIGHT JOIN Adresser ON (Kunde.DistriktSlut = Adresser.DistriktNr)
WHERE Kunde.Dato=#09-01-2002#]. AS B
WHERE A.BestillingsTidspunkt=B.BestillingsTidspunkt)
GROUP BY Ialt]. AS [%$##@_Alias]
ORDER BY Antal DESC;
Avatar billede terry Ekspert
17. marts 2003 - 09:01 #1
Its hard to say but guessing there are a few things I would look at.
First
FROM [SELECT Min
why the [  ?
and I can see you do this anmuber of places! and you dont even have closing ]

Next [%$##@_Alias]
This might work but isnt a good idea
then you have a UNION SELECT
and then a "DOUBLE" WHERE!
WHERE Kunde.Dato=#09-01-2002#]. AS B
WHERE A.BestillingsTidspunkt=B.BestillingsTidspunkt)

I would y´think it VERY unlikely it would work, but without seeing it in action I couldt be sure!
Avatar billede terry Ekspert
17. marts 2003 - 09:02 #2
anmuber  = a number
Avatar billede terry Ekspert
17. marts 2003 - 09:16 #3
you say in the question that it is this line which is giving the problem

A.BestillingsTidspunkt=B.BestillingsTidspunkt)<-- Den der peger den på?

well this also happend to be in the "DOUBLE" WHERE I mentioned
Avatar billede dragnor Juniormester
17. marts 2003 - 11:25 #4
Nu virker det næsten, med den lille undtagelse at den spørg efter en værdi til "Count" ?


SELECT Min(PostStart) AS Post1, Max(PostSlut) AS Post2, Count(Ialt) AS Antal
FROM (SELECT (A.PostNr) AS PostStart, (B.PostNr) AS Postslut, (A.PostNr*10 + B.PostNr*10) AS Ialt

FROM [SELECT Kunde.PostNr, Kunde.BestillingsTidspunkt
FROM  Kunde LEFT JOIN Adresser ON (Kunde.GadeNavn = Adresser.GadeNavn) AND (Kunde.GadeNr = Adresser.GadeNr)
WHERE  Kunde.Dato>=#09-01-2002# AND  Kunde.Dato<=#09-30-2002#

UNION

SELECT Kunde.PostNr, Kunde.BestillingsTidspunkt
FROM Kunde RIGHT JOIN Adresser ON (Kunde.GadeNavn = Adresser.GadeNavn) AND (Kunde.GadeNr = Adresser.GadeNr)
WHERE  Kunde.Dato>=#09-01-2002# AND Kunde.Dato<=#09-30-2002#
]. AS A,

[SELECT Adresser.PostNr, Kunde.BestillingsTidspunkt
FROM  Kunde LEFT JOIN Adresser ON (Kunde.DistriktSlut = Adresser.DistriktNr)


UNION

SELECT Adresser.PostNr, Kunde.BestillingsTidspunkt
FROM Kunde RIGHT JOIN Adresser ON (Kunde.DistriktSlut = Adresser.DistriktNr)
]. AS B

WHERE A.BestillingsTidspunkt=B.BestillingsTidspunkt)


GROUP BY Ialt
ORDER BY Antal DESC;
Avatar billede terry Ekspert
17. marts 2003 - 12:44 #5
I suggest your split you SQL into smaller statements and get each one working first. Then when they work put em all together!
I still do NOT understand what your using [ for niether ].
Avatar billede terry Ekspert
17. marts 2003 - 12:45 #6
if you getting prompted to enter a value for count() then it is possible that
Ialt can not be foúnd or is in tow or more tables
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