AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

delphi 10 Sql Abfrage

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

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

AW: delphi 10 Sql Abfrage

  Alt 8. Aug 2019, 09:12
Die Woche muss da ins Group wohl nicht rein, stört aber vielleicht auch nicht.
Ob der Join überhaupt sein muss, wenn alle Daten in "Zwischen" stehen?

Was ich zum Thema Arbeitserleichterung meinte:
So ein Statement liefert die Tabellendefinition
Code:
SELECT name, sql FROM sqlite_master
 WHERE type='table' and name = 'meineTabelle'
 ORDER BY name;
Dann ist es nur noch copy/paste und im Forum kann das jeder verstehen.
Gruß, Jo
  Mit Zitat antworten Zitat
concept2015

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

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
 
#3

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
 
#4

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
 
#5

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
 
#6

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
 
#7

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
 
#8

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
Antwort Antwort


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 05:17 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