php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 20-05-2010, 13:41
Lylantiel
 Registrierter Benutzer
Links : Onlinestatus : Lylantiel ist offline
Registriert seit: May 2010
Beiträge: 9
Lylantiel befindet sich auf einem aufstrebenden Ast
Standard Probleme mit Group und Sum

Ich habe folgendes Problem:

Code:
SELECT Sum(qry_Positionen2Auftrag.VKBrutto) AS SummevonVKBrutto, 
 Sum(qry_Positionen2Auftrag.MatEK) AS SummevonMatEK,
 Avg(qry_Positionen2Auftrag.Aufschlag) AS MittelwertvonAufschlag,
 qry_Positionen2Auftrag.ArtMatch1,
 qry_Positionen2Auftrag.ArtNr, FROM qry_Positionen2Auftrag
where (((qry_Positionen2Auftrag.Date) Between [DATUM] And [DATUM]))
GROUP BY qry_Positionen2Auftrag.ArtMatch1, qry_Positionen2Auftrag.ArtNr,
 Sum(qry_Positionen2Auftrag.VKBrutto)
funktioniert natürlich nicht, da Sum in Group nicht erlaubt ist.
Benutze Ich aber das Alias, also

Code:
SELECT Sum(qry_Positionen2Auftrag.VKBrutto) AS SummevonVKBrutto,
 Sum(qry_Positionen2Auftrag.MatEK) AS SummevonMatEK,
 Avg(qry_Positionen2Auftrag.Aufschlag) AS MittelwertvonAufschlag,
 qry_Positionen2Auftrag.ArtMatch1,
 qry_Positionen2Auftrag.ArtNr, FROM qry_Positionen2Auftrag
where (((qry_Positionen2Auftrag.Date) Between [DATUM] And [DATUM]))
GROUP BY qry_Positionen2Auftrag.ArtMatch1,
 qry_Positionen2Auftrag.ArtNr, SummevonVKBrutto
bekomme ich die Meldung: "Sie wollen eine Abfrage ausführen,
die den angegebenen Ausdruck
"SummevonVKBrutto" nicht als Teil der Aggregatfunktion einschließt."

ich brauch aber die anderen selektierten Daten alle normal,
um sie später in dem Bericht sehen zu können.

Jemand der mir das vielleicht nen Tipp geben kann?

Geändert von Lylantiel (20-05-2010 um 14:43 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 20-05-2010, 13:51
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo und willkommen im Forum,

bitte Regeln lesen und Beitrag mit dem Ändern-Button anpassen. Um was für ein DBMS handelt es sich?

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #3 (permalink)  
Alt 20-05-2010, 13:56
Lylantiel
 Registrierter Benutzer
Links : Onlinestatus : Lylantiel ist offline
Registriert seit: May 2010
Beiträge: 9
Lylantiel befindet sich auf einem aufstrebenden Ast
Standard

Hoffe du meintest bei den Regeln nur wegen des Zeilenumbrauchs,
oder steh ich auf dem Schlauch wie immer??

dbms ist Access 07
Mit Zitat antworten
  #4 (permalink)  
Alt 20-05-2010, 14:02
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Deine schnelle Antwort sagt mir, dass du die Regeln nicht lesen wolltest, daher will ich auch nicht auf dein Problem eingehen.

Zeilenumbrüche im Code sind keine schlechte Idee, Code-Tags auch nicht.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #5 (permalink)  
Alt 20-05-2010, 14:16
Lylantiel
 Registrierter Benutzer
Links : Onlinestatus : Lylantiel ist offline
Registriert seit: May 2010
Beiträge: 9
Lylantiel befindet sich auf einem aufstrebenden Ast
Standard

Ja, tut mir leid, bin etwas unentspannd, weil ich schon seit Stunden versuche das zu lösen und noch nicht einen Schritt weiter bin.

Also noch ein Versuch meinerseits
Mit Zitat antworten
  #6 (permalink)  
Alt 20-05-2010, 14:41
Lylantiel
 Registrierter Benutzer
Links : Onlinestatus : Lylantiel ist offline
Registriert seit: May 2010
Beiträge: 9
Lylantiel befindet sich auf einem aufstrebenden Ast
Standard

Ok, den ersten Fehler hab ich gefunden.
Da hing leider nocht etwas hintendran an der Selection, dass da nicht hingehörte,
deswegen der Fehler mit der Aggregatfunktion. Jetzt sieht es wirklich so aus:

Code:
SELECT Sum(qry_Positionen2Auftrag.VKBrutto) AS SummevonVKBrutto, 
 Sum(qry_Positionen2Auftrag.MatEK) AS SummevonMatEK, 
 Avg(qry_Positionen2Auftrag.Aufschlag) AS MittelwertvonAufschlag, 
 qry_Positionen2Auftrag.ArtMatch1, qry_Positionen2Auftrag.ArtNr, 
 qry_Positionen2Auftrag.SummevonBruttoVK FROM qry_Positionen2Auftrag
where (((qry_Positionen2Auftrag.Date) Between [DATUM] And [DATUM]))
GROUP BY SummevonVKBrutto, qry_Positionen2Auftrag.ArtMatch1,
 qry_Positionen2Auftrag.ArtNr
Beim Ausfüren mit MS Access 2007 bekomme ich aber nun ein
Eingabefenster mit der Bezeichnung "SummevonVKBrutto",
was leider auch nicht das gewünschte Resultat ist.
Mit Zitat antworten
  #7 (permalink)  
Alt 20-05-2010, 14:47
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Die Summe der Gruppe kann man nicht selbst zum Gruppieren verwenden, das wäre ja dann schon wieder eine neue Gruppierung.

Versuch mal, das was du eigentlich vor hast, mit Worten zu beschreiben, aber so detailliert, das man es gut nachvollziehen kann.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #8 (permalink)  
Alt 20-05-2010, 15:02
Lylantiel
 Registrierter Benutzer
Links : Onlinestatus : Lylantiel ist offline
Registriert seit: May 2010
Beiträge: 9
Lylantiel befindet sich auf einem aufstrebenden Ast
Standard

Ok Ziel des ganzen ist es, dass in dem Bericht hinterher
zuerst nach der "SummevonVKBrutto" sortiert wird, damit ich
sehen kann, von welcher Warengruppe im entsprechenden Zeitraum
es den grössten Umsatz gibt.

Dann sollen die einzelnen Artikel der Gruppe alphabetisch sortiert werden
und zuguterletzt soll die Summe noch einmal unten zusammengezählt werden.

PS: irgendwie lässt sich das auch in Worten nicht einfach beschreiben.
Mit Zitat antworten
  #9 (permalink)  
Alt 20-05-2010, 15:16
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Dann musst du aber nach Warengruppe gruppieren, sonst wird das gar nichts. Sortieren ist ja dann was anderes. Das Zusammenzählen geht nur, wenn das DBMS die WITH ROLLUP Klausel unterstützt, sonst musst du es im Script machen.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (20-05-2010 um 15:19 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 20-05-2010, 15:27
Lylantiel
 Registrierter Benutzer
Links : Onlinestatus : Lylantiel ist offline
Registriert seit: May 2010
Beiträge: 9
Lylantiel befindet sich auf einem aufstrebenden Ast
Standard

Hmm WITH ROLLUP hab ich noch nie gehört...

qry_Positionen2Auftrag.ArtMatch1 ist in diesem Fall die Warengruppe,
und diese Warengruppen sollen eben nach der Summe ihres Umsatzes
sortiert werden und dann eigentlich erst nach Ihrem Namen.

Und ne Vorsortierung nach dem Umsatz ist leider nicht möglich, weil das
[DATUM] im where-Teil ja dynamisch ist.
Mit Zitat antworten
  #11 (permalink)  
Alt 20-05-2010, 15:37
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Kann es sein, dass du Probleme mit dem Unterschied zw. group by und order by hast?
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #12 (permalink)  
Alt 20-05-2010, 15:44
Lylantiel
 Registrierter Benutzer
Links : Onlinestatus : Lylantiel ist offline
Registriert seit: May 2010
Beiträge: 9
Lylantiel befindet sich auf einem aufstrebenden Ast
Standard

Sein kann es bestimmt.
Hab aber Order By auch schon versucht, was aber
leider zu dem selben Fehler führt, nämlich, dass "SummevonVKBrutto" ein
Eingabefenster erzeugt, und nicht nach der vorher definierten Summe sortiert wird.

Also auch Versuche wie:

Code:
GROUP BY qry_Positionen2Auftrag.ArtMatch1, qry_Positionen2Auftrag.ArtNr
ORDER BY SummevonVKBrutto
oder ähnliches

Geändert von Lylantiel (20-05-2010 um 15:47 Uhr)
Mit Zitat antworten
  #13 (permalink)  
Alt 20-05-2010, 15:48
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von Lylantiel Beitrag anzeigen
was aber
leider zu dem selben Fehler führt
Das liegt aber bestimmt an etwas anderem. Zeig das mal her (im Ganzen).
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #14 (permalink)  
Alt 20-05-2010, 15:58
Lylantiel
 Registrierter Benutzer
Links : Onlinestatus : Lylantiel ist offline
Registriert seit: May 2010
Beiträge: 9
Lylantiel befindet sich auf einem aufstrebenden Ast
Standard

Code:
SELECT Sum(qry_Positionen2Auftrag.VKBrutto) AS SummevonVKBrutto,
 Sum(qry_Positionen2Auftrag.MatEK) AS SummevonMatEK,
 Avg(qry_Positionen2Auftrag.Aufschlag) AS MittelwertvonAufschlag,
 qry_Positionen2Auftrag.ArtMatch1, qry_Positionen2Auftrag.ArtNr,
 qry_Positionen2Auftrag.SummevonBruttoVK FROM qry_Positionen2Auftrag 
where (((qry_Positionen2Auftrag.Date) Between [DATUM] And [DATUM]))"
GROUP BY qry_Positionen2Auftrag.ArtMatch1, 
 qry_Positionen2Auftrag.ArtNr
ORDER BY SummevonVKBrutto
Mit Zitat antworten
  #15 (permalink)  
Alt 20-05-2010, 16:03
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Wo kommt das Anführungszeichen her? Liegt es daran?

Hast du es zum Testen mal mit festen Daten statt der Platzhalter versucht? Wenn es dann nicht klappt, weiß ich auch nicht mehr… Dann brauchst du ein ordentliches DBMS.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (20-05-2010 um 16:07 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
sql, group by and SUM polynaux SQL / Datenbanken 5 06-04-2007 04:44
Group by rönee Archiv / Trash 27 22-04-2005 16:49
Group by ? Sebastian.J SQL / Datenbanken 2 19-01-2005 21:32
Probleme mit GROUP BY Powerplay SQL / Datenbanken 10 29-01-2004 22:11
Probleme mit GROUP-Funktion, Hilfe !!! Darius SQL / Datenbanken 18 05-02-2002 17:18

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:46 Uhr.