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

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

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
Benutzerbild von TigerLilly
TigerLilly

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

AW: delphi 10 Sql Abfrage

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

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

AW: delphi 10 Sql Abfrage

  Alt 8. Aug 2019, 12:51
Das war´s !!!

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 !!!!
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: delphi 10 Sql Abfrage

  Alt 8. Aug 2019, 20:38
mit [ CODE=sql]....SQLTEXT..[ /CODE] (ohne die Leerzeichen)sind Deine Abfragen etwas besser zu lesen.

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

Geändert von p80286 ( 8. Aug 2019 um 20:41 Uhr)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.739 Beiträge
 
Delphi 6 Enterprise
 
#7

AW: delphi 10 Sql Abfrage

  Alt 9. Aug 2019, 07:36
Distinct deshalb, weil manche Kunden Mehrfach in der Liste stehen da sie mehrere
Geräte zur Prüfung haben -
Das ist die Info, die wir früher hätten haben müssen und erklärt wohl auch die hohen Zahlen bei der Join-Variante.
Ralph
  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:15 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