18. december 2001 - 09:36Der er
3 kommentarer og 1 løsning
SQL problemer i Oracle8
Hejsa!
Jeg skal have vist en fiskers samlede fangst i kilo for en given periode! Nedenstående SQL-statement skulle gerne give dette, men den giver blot flg. fejl:
Input er afskåret til 3 tegn ) * FEJL i linie 20: ORA-00936: manglende udtryk
Det er sikkert enkelt, men hvordan retter jeg i mit nuværende SQL-statement så det kommer til at virke, eller er jeg helt på gale veje?
På forhånd tak for hjælpen! Mvh. Mads
Her er SQL\'en:
SELECT SUM(Fangster.Kilo) FROM Fangster WHERE ( SELECT Kunder.KundeID, Kunder.Navn, TO_CHAR(Logbog.StartTidspunkt, \'DD-MM-YY\') AS StartTidspunkt, TO_CHAR(Logbog.SlutTidspunkt, \'DD-MM-YY\') AS SlutTidspunkt, Fangster.Kilo FROM Logbog, Kunder, Fangster WHERE StartTidspunkt > to_date(\'05-01-01\',\'DD-MM-YY\') AND SlutTidspunkt < to_date(\'13-01-01\',\'DD-MM-YY\') AND Logbog.KundeID = Kunder.KundeID AND Fangster.LogID = Logbog.LogID AND Kunder.KundeID = 3 );
SELECT SUM(Fangster.Kilo) FROM Fangster, Logbog, Kunder WHERE StartTidspunkt > to_date(\'05-01-01\',\'DD-MM-YY\') AND SlutTidspunkt < to_date(\'13-01-01\',\'DD-MM-YY\') AND Logbog.KundeID = Kunder.KundeID AND Fangster.LogID = Logbog.LogID AND Kunder.KundeID = 3 ;
Dit select statement er skruet forkert sammen, da der i yderstete WHERE statement ikke er nogen betingelse, men blot et nyt select statement. Prøv istedet
SELECT Kunder.KundeID, Kunder.Navn,sum(Fangster.kilo) FROM Logbog, Kunder, Fangster WHERE StartTidspunkt > to_date(\'05-01-01\',\'DD-MM-YY\') AND SlutTidspunkt < to_date(\'13-01-01\',\'DD-MM-YY\') AND Logbog.KundeID = Kunder.KundeID AND Fangster.LogID = Logbog.LogID AND Kunder.KundeID = 3 GROUP BY Kunder.KundeID, Kunder.Navn
Du gør da vist tingene unødigt komplicerede for dig selv - hvorfor ikke blot:
SELECT SUM(Fangster.Kilo) FROM Logbog, Kunder, Fangster WHERE StartTidspunkt > to_date(\'05-01-01\',\'DD-MM-YY\') AND SlutTidspunkt < to_date(\'13-01-01\',\'DD-MM-YY\') AND Logbog.KundeID = Kunder.KundeID AND Fangster.LogID = Logbog.LogID AND Kunder.KundeID = 3 ;
Tak alle sammen. Men jeg skulle også have andre felter med der skriver kundens navn og id ud! Det glemte jeg at nævne i spørgsmålet, men alsted fik det lige med alligevel. Jeg takker mange gange!
Mvh. Mads
Synes godt om
Ny brugerNybegynder
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.