AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi COUNT und LEFT JOIN PROBLEM
Thema durchsuchen
Ansicht
Themen-Optionen

COUNT und LEFT JOIN PROBLEM

Ein Thema von HolgerCW · begonnen am 2. Jul 2009 · letzter Beitrag vom 2. Jul 2009
Antwort Antwort
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#1

COUNT und LEFT JOIN PROBLEM

  Alt 2. Jul 2009, 10:45
Datenbank: ORACLE • Version: 10 • Zugriff über: BDE
Hallo zusammen,

ich habe folgende SQL-Abfrage gebaut:

Delphi-Quellcode:
SELECT T1.SPALTE1, COUNT(T1.SPALTE1) AS COUNT FROM TABELLE1 T1
LEFT JOIN TABELLE2 T2
ON T1.SPALTE1 = T2.SPALTE1
WHERE T1.SPALTE1 = 1 AND T2.SPALTE2 IS NULL
GROUP BY T1.SPALTE1
Der Inhalte der Tabellen ist folgender:

T1.SPALTE1

1
2

T2.SPALTE1, T2.SPALTE2

1, 1
1, 1
2, NULL

Wenn ich nun T2.SPALTE2 nach NULL abfrage und T1.SPALTE1 auf 1, wird mir nichts mehr angezeigt.
Ich würde aber gerne folgendes angezeigt bekommen:

T1.SPALTE1, COUNT
1, 0

Wie kann ich das hinbekommen, das er mir auch einen Count von 0 ausgibt ?

Gruss

Holger
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: COUNT und LEFT JOIN PROBLEM

  Alt 2. Jul 2009, 10:53
Versuche mal eine right oder outer join
Markus Kinzler
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#3

Re: COUNT und LEFT JOIN PROBLEM

  Alt 2. Jul 2009, 10:59
Hat leider nicht funktioniert ... Hat wer vielleicht noch eine Idee ?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

Re: COUNT und LEFT JOIN PROBLEM

  Alt 2. Jul 2009, 11:55
Was kommt hierbei heraus?
SQL-Code:
SELECT
  T1.SPALTE1, COUNT(1) AS Anzahl
FROM
  TABELLE1 T1
LEFT JOIN
  TABELLE2 T2 ON T2.SPALTE1 = T1.SPALTE1
WHERE
  T1.SPALTE1 = 1 AND T2.SPALTE2 IS NULL
GROUP BY
  T1.SPALTE1
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#5

Re: COUNT und LEFT JOIN PROBLEM

  Alt 2. Jul 2009, 12:08
Hi,

dabei wird auch keine Zeile ausgegeben.

Warum ?

Gruss

Holger
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#6

Re: COUNT und LEFT JOIN PROBLEM

  Alt 2. Jul 2009, 13:05
Das wüsste ich auch gern. Und wenn wir Tabelle1 einmal außen vor lassen?
SQL-Code:
SELECT
  COUNT(*) AS Anzahl
FROM
  TABELLE2 T2
WHERE
  T2.SPALTE1 = 1 AND T2.SPALTE2 IS NULL
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#7

Re: COUNT und LEFT JOIN PROBLEM

  Alt 2. Jul 2009, 13:38
Dann ist der Count = 0.

Dabei können wir auch den LEFT JOIN beibehalten.

Müssen nur das Group by und den select der T1.SPALTE1 raus nehmen.

Aber der Count muss doch auch 0 ergeben, wenn man noch zusätzlich eine Spalte angibt ?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#8

Re: COUNT und LEFT JOIN PROBLEM

  Alt 2. Jul 2009, 14:02
Würde ich eigentlich auch vermuten. Nach meinem Dafürhalten dürfte nur dann kein Ergebnis kommen, wenn es schon die Spalte1 mit dem Wert 1 in der ersten Tabelle gar nicht gibt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 16:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz