![]() |
AW: delphi 10 Sql Abfrage
Ja, den Vorschlag habe ich etwas angepasst -
liefert aber Ergebnisse, die ich nicht zuordnen kann. select distinct Name, Count(*)as Anz from stamm s join zwischen z on z.tour=s.tournr where z.tour='1' and z.Jahr = "2019" and z.woche_nr='31' and s.Anzeigen = "J" group by z.woche_Nr, s.name ***************************** Name Anz Alphag 46 Witten Gieseke 46 Faltenb. Witten 46 Hammer Feinstahl 23 Kalkm. Bo Höntrop 46 Kalkm. Bo. Mitte 46 Kalkm. Do Hombruch 46 Kalkm. Do Hörde 46 Kalkm. Do Mitte 92 Kalkm. Düs. Mitte 46 ****************************** Da stehen Zahlen 23 bis 92 hinter ... das kann nicht sein ... Maximal 3 Besuche können es sein - es werden wohl alle Besuche angezeigt. Ich sag ja - Loch im Kopf - bei dieser Abfrage. Trotzdem DANKE für Eure Bemühung. |
AW: delphi 10 Sql Abfrage
Also wie bereits weiter oben geschrieben, was soll der join und das group by von woche_nr?
Was soll das Mischmasch mit ' und "? Wenn du weitere Angaben zu Deinem Datenmodell hättest, könnte man besser helfen. Was sind die Primärschlüssel-, was sind Fremdschlüssel Constraints? Bitte mal ausprobieren:
Code:
select wer, count(*) as Anz
from zwischen z where z.tour = '1' and z.Jahr = '2019' and z.woche_nr = '31' group by wer |
AW: delphi 10 Sql Abfrage
Das distinct ist unnötig, wenn du nach name gruppierst.
Schau dir doch mal an, was select * from stamm s join zwischen z on z.tour=s.tournr where z.tour='1' and z.Jahr = "2019" and z.woche_nr='31' and s.Anzeigen = "J" liefert, dann weisst du, warum andere Werte stehen als du erwartest. |
AW: delphi 10 Sql Abfrage
Herzlichen Dank an alle !
Jetzt habe ich es, dank Eurer Hilfe. Manchmal ist es eben so ... Brett vorm Kopf :roll: |
AW: delphi 10 Sql Abfrage
Prima!
Wie wär's wenn Du wie in einem Forum üblich, die Mitleser und Sucher teilhaben lässt, was das Problem bzw. die Lösung war? |
AW: delphi 10 Sql Abfrage
Nein, ich war zu schnell !
Es sah gut aus - der Fehler ist nur, ich brauche ALLE Kunden aus Stamm: Stamm: Select Distinct Name from Stamm where Anzeigen = "J" and TourNr = "1" order by Name Distinct deshalb, weil manche Kunden Mehrfach in der Liste stehen da sie mehrere Geräte zur Prüfung haben - ich will nur aber wissen ob der Fahrer (TourNr) in dieser Woche bei diesem Kunden war. Das steht in der Tabelle Zwischen, diese Sätze sollen gezählt und in einer Spalte hinter dem Namen stehen. Damit kann ich ermitteln ob der Fahrer ((Tour) in Zwischen) dort war oder bei 0 nicht dort war. Das Beispiel von JOBO: select wer, count(*) as Anz from zwischen z where z.tour = '1' and z.Jahr = '2019' and z.woche_nr = '31' group by wer zeigt mir NUR die besuchten Kunden - nicht die Kunden, wo er nicht war ! Ich brauche: Name AnzBesuche Kunde1 2 Kunde2 0 Kunde3 1 Kunde4 0 Kunde5 2 .... alle weiteren Kunden von Tour 1 Theoretische Lösung !!! Select Distinct Stamm.Name AS Kunde where Stamm.Anzeingen = "J" and Stamm.TourNr = "1" PLUS Count(Zwischen.*) where Zwischen.Jahr ="2019" and Zwischen.Woche ="32" and Zwischen.Tour = (Stamm.TourNr) und das auch MIT einer 0 Tut mir leid - ich weiss nicht wie ich es anders beschreiben soll. |
AW: delphi 10 Sql Abfrage
Dann nimm statt des JOINS einen LEFT OUTER JOIN
Oder du macht aus der COUNT(*) eine Subquery. select wer, (select count(*) from zwischen z where z.tour = s.tour and .... ) as Anzahl from stamm s where ..... |
AW: delphi 10 Sql Abfrage
Das war´s !!! :-D
Der Tip von TigerLilly bringt genau das, was ich 3 Tage gesucht habe. DIE LÖSUNG IST ! select Name, (select count(*) from zwischen z where z.tour = s.tourNr and z.wer = s.Name and Jahr ="2019" and Woche_Nr = "31" ) as Anzahl from stamm s where s.anzeigen = "J" and s.TourNr = "1" DANKE DANKE DANKE Mit 65 schaltet, bei zu langer Betrachtung, das Gehirn auf (Alles ist grau) bei mir jedenfalls. Eine Subquery !!!! :pale::stupid: |
AW: delphi 10 Sql Abfrage
mit [ CODE=sql]....SQLTEXT..[ /CODE] (ohne die Leerzeichen)sind Deine Abfragen etwas besser zu lesen.
Gruß K-H |
AW: delphi 10 Sql Abfrage
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz