AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Problem bei SELCT-Statement für ListView mit Livebinding
Thema durchsuchen
Ansicht
Themen-Optionen

Problem bei SELCT-Statement für ListView mit Livebinding

Ein Thema von Darlo · begonnen am 2. Sep 2015 · letzter Beitrag vom 2. Sep 2015
Antwort Antwort
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Problem bei SELCT-Statement für ListView mit Livebinding

  Alt 2. Sep 2015, 11:51
Datenbank: SQLITE • Version: 3 • Zugriff über: UniDac
Hallo zusammen,

ich bekomme gerade eine SELECT-Anweisung nicht auf die Reihe.

Gegeben ist eine Tabelle "personen"

dsidpidpersonenNrvornachname
111Adam
122Eva
231Max
341Klaus
451Maria
462Bernd

Jetzt möchte ich in einer ListView pro DSID-Gruppe ein ListviewItem haben. Wobei der Namen der 1 Person der Text und der Namen der 2. Person das Detail der Listview ist.

Folgendes SELECT führe ich aus:
Code:
SELECT
DISTINCT(a.dsid),a.pid, a.vorname, a.nachname, a.vornachname AS NAME1, a.isHistorie,
b.vornachname AS NAME2, b.personen_nr
FROM personen as a
LEFT JOIN personen as b
on a.dsid = b.dsid
WHERE (a.personen_nr = 1) AND (b.personen_nr = 2)
ORDER BY a.nachname
Das funktioniert für alle Datensätze die eine 2 Person enthalten. Was muss ich denn machen damit wenn keine 2. Person verfügbar ist das Feld NAME2 einfach leer ist?

Vielen lieben Dank schonmal für die Antworten.
Philip

Geändert von Darlo ( 2. Sep 2015 um 11:54 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Problem bei SELCT-Statement für ListView mit Livebinding

  Alt 2. Sep 2015, 11:58
Mach einen OUTER Join und ersetze dann NULL durch ''
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Problem bei SELCT-Statement für ListView mit Livebinding

  Alt 2. Sep 2015, 12:07
Hier mein Vorschlag:

SQL-Code:
SELECT
 a.dsid,a.pid, a.vorname, a.nachname, a.vornachname AS NAME1, a.isHistorie,
 b.vornachname AS NAME2, b.personen_nr
 FROM personen as a
 LEFT JOIN personen as b
 on a.dsid = b.dsid
 AND b.personen_nr = 2
 WHERE a.personen_nr = 1
 ORDER BY a.nachname
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von frankyboy1974
frankyboy1974

Registriert seit: 7. Apr 2015
Ort: SH
169 Beiträge
 
Delphi XE7 Professional
 
#4

AW: Problem bei SELCT-Statement für ListView mit Livebinding

  Alt 2. Sep 2015, 12:11
hallo,

also ich würd jetzt auch mal auf einen Outer-Join tippen, aber was ich bei solchen Anfragen immer nicht verstehe, warum muss man immer alles über SQL programmieren (muss jede fachliche Anforderung, genau in einem SQL-Statement abgedeckt werden können?). Wenn du dir stattdessen mit
Code:
select * from personen where .... order by dsid
einfach alle selektierst und dann den Gruppenwechsel in Delphi selbst durchführst, solltest du zum selben Ziel kommen.

mfg
Java ist auch eine Insel.
Ist Delphi von Oracle?
In meiner Buchstabensuppen fehlt das C++!
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Problem bei SELCT-Statement für ListView mit Livebinding

  Alt 2. Sep 2015, 12:23
eben, Gruppenwechsel programmieren macht viel mehr Spaß als so einen popligen SQL-Befehl absetzen.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

AW: Problem bei SELCT-Statement für ListView mit Livebinding

  Alt 2. Sep 2015, 12:24
@baumina, danke, das funktioniert

Btw.er Outer-Join wird wohl von UniDac bei SQLITE nicht unterstützt....
Philip
  Mit Zitat antworten Zitat
Benutzerbild von frankyboy1974
frankyboy1974

Registriert seit: 7. Apr 2015
Ort: SH
169 Beiträge
 
Delphi XE7 Professional
 
#7

AW: Problem bei SELCT-Statement für ListView mit Livebinding

  Alt 2. Sep 2015, 12:41
@baumina



mfg
Java ist auch eine Insel.
Ist Delphi von Oracle?
In meiner Buchstabensuppen fehlt das C++!
  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 20:14 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