Autor Beitrag
highlander78
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 62



BeitragVerfasst: Sa 10.04.10 21:38 
Hallo,

meine SQL Abfrage in diesem Format funktioniert:

ausblenden SQL-Anweisung
1:
2:
3:
4:
5:
select A.Nummer,
Anzahl , B.Preis,
Anzahl * B.Preis as Gesamtpreis
FROM A LEFT JOIN B on A.Nummer=B.Nummer
GROUP BY A.Nummer,B.Preis



habe mir jetzt zum Testen eine Access Dantenbank angelegt , mit gleichen Spalten ,Tabellen wie in der SQL Datenbank.
Leider funktioniert die gleiche Abfrage mit Access DB nicht, wo ist da der Unterschied , wie muss mein String aussehen ?


Gruss

highlander78


Zuletzt bearbeitet von highlander78 am So 11.04.10 16:42, insgesamt 1-mal bearbeitet
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Sa 10.04.10 22:08 
Hallo,

ich kenne die Dialekte nicht; aber ich weiß, dass bei manchen DBMS ein Tabellenname entweder immer oder niemals angegeben werden muss. Versuche also dies:
ausblenden SQL-Anweisung
1:
2:
3:
4:
5:
select A.Nummer,
   A.Anzahl , B.Preis,
   A.Anzahl * B.Preis as Gesamtpreis
FROM A LEFT JOIN B on A.Nummer=B.Nummer
GROUP BY A.Nummer, B.Preis

Gruß Jürgen
highlander78 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 62



BeitragVerfasst: So 11.04.10 14:04 
Hallo,
habe deine Abfrage versucht, aber irgendwo ist noch ein Hacken drin ..
Bekomme diese Fehlermeldung:

Zitat:
System.Data.OleDb.OleDbException: Sie wollten eine Abfrage ausführen, die den angegebenen Ausdruck 'Anzahl' nicht als Teil der Aggregatfunktion einschließt.


Gruss
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 11.04.10 15:06 
Wozu überhaupt ein Group-By ohne Aggregtfunktion, da kannst du doch gleich Sort-By benutzen...?

_________________
>λ=
highlander78 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 62



BeitragVerfasst: So 11.04.10 16:41 
Mit ORDER BY funktioniert es.

Danke für die Info.
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: So 11.04.10 16:46 
Zur Erläuterung siehe z.B. [Wikibooks] SQL: Gruppierungen, vor allem das erste fehlerhafte Beispiel. Jürgen