AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

delphi 10 Sql Abfrage

Ein Thema von concept2015 · begonnen am 7. Aug 2019 · letzter Beitrag vom 9. Aug 2019
Antwort Antwort
concept2015

Registriert seit: 22. Dez 2015
Ort: Nähe Dortmund
44 Beiträge
 
Delphi 7 Professional
 
#1

AW: delphi 10 Sql Abfrage

  Alt 8. Aug 2019, 09:53
Select distinct Name from Stamm
where Anzeigen = "J"
and TourNr = "1"
order by Name

Liefert mir nur die aktuellen Kunden von TourNr 1 - genau das brauche ich
*********************
Name
Kalkm. Do Mitte1
Kalkm. Do Mitte2
Kalkm. Do Mitte3
Hammer Hagen
Faltenb. Witten
**********************
Jetzt soll hinter jedem Namen die Anzahl der Besuche aus Zwischen
(auch Null) stehen, die von Tour 1 im Jahr 2019 und Woche 31 bei diesem
Kunden waren.

Select Count(*) as Anz from zwischen
where Wer = (Name aus Stamm) !!
and Jahr = "2019"
and Woche_Nr = "31"
and Tour = "1"

*********************
Anz
1
1
0
4
2
**********************

Das alles in einer Abfrage sollte das Ergebnis bringen:
******************************
Name Anz
Kalkm. Do Mitte1 1
Kalkm. Do Mitte2 1
Kalkm. Do Mitte3 0
Hammer Hagen 4
Faltenb. Witten 2
*******************************
die ich nicht zusammen bekomme.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#2

AW: delphi 10 Sql Abfrage

  Alt 8. Aug 2019, 10:03
Die Vorschläge von Tiger Lilly hast Du schon gesehen?
Sein letzter solte eigentlich das ergeben was Du willst?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
concept2015

Registriert seit: 22. Dez 2015
Ort: Nähe Dortmund
44 Beiträge
 
Delphi 7 Professional
 
#3

AW: delphi 10 Sql Abfrage

  Alt 8. Aug 2019, 10:44
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.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: delphi 10 Sql Abfrage

  Alt 8. Aug 2019, 10:53
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
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#5

AW: delphi 10 Sql Abfrage

  Alt 8. Aug 2019, 10:55
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.
  Mit Zitat antworten Zitat
concept2015

Registriert seit: 22. Dez 2015
Ort: Nähe Dortmund
44 Beiträge
 
Delphi 7 Professional
 
#6

AW: delphi 10 Sql Abfrage

  Alt 8. Aug 2019, 11:18
Herzlichen Dank an alle !
Jetzt habe ich es, dank Eurer Hilfe.

Manchmal ist es eben so ... Brett vorm Kopf
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#7

AW: delphi 10 Sql Abfrage

  Alt 8. Aug 2019, 11:27
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?
Gruß, Jo
  Mit Zitat antworten Zitat
concept2015

Registriert seit: 22. Dez 2015
Ort: Nähe Dortmund
44 Beiträge
 
Delphi 7 Professional
 
#8

AW: delphi 10 Sql Abfrage

  Alt 8. Aug 2019, 12:14
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.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:22 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