AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken einen Wert aus einer Tabelle zweimal abfragen
Thema durchsuchen
Ansicht
Themen-Optionen

einen Wert aus einer Tabelle zweimal abfragen

Ein Thema von SimStar001 · begonnen am 8. Mär 2010 · letzter Beitrag vom 9. Mär 2010
Antwort Antwort
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#1

einen Wert aus einer Tabelle zweimal abfragen

  Alt 8. Mär 2010, 09:40
Datenbank: MYSQL • Version: 5 • Zugriff über: PHP
Hallo,

der titel drück es nicht ganz aus, aber ich habe hier folgende Abfrage:
SELECT backend_auftraege.ID, backend_login.Name, backend_auftraege.TimeStampAktion, backend_auftraege.Auftragsart, backend_auftraege.Beschreibung, backend_auftraege.Bemerkung,backend_auftraege.Status FROM backend_login,backend_auftraege WHERE ((backend_auftraege.Status <> '0') AND ((backend_auftraege.Status <> '1') AND (backend_auftraege.Status <> '4') ) ) AND (backend_login.ID = backend_auftraege.ErzeugerID) ORDER BY Status, BesitzerID, TimeStampAktion DESC Nun möchte ich aus der Tabelle backend_login den Wert Name gleich zweimal innerhalb dieser Abfrage abfragen, aber als Verschiedene Variablen.

Einmal wird Name ja als Name abgefragt für backend_login.ID = backend_auftraege.ErzeugerID . Somit erhalte ich den Namen des Erzeugers...
Nun bruche ich aber auch noch den Namen des Besitzers. also quasi müsste nochmal so abgefragt werden: backend_login.ID = backend_auftraege.BesitzerID Wie bringe ich das nun in eine Abfrage unter.
Wenn ichs so einfüge, bzw. über nen Subquery mache, dann bekomme ich die Fehlermeldung dass der Subquery mehr als eine Zeile enthält, oder ich bekomme für Besitzer und Erzeuger denselben Namen.

Wie stelle ich das gnaze vernünftig mit einer Abfrage an?

LG Marco
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

Re: einen Wert aus einer Tabelle zweimal abfragen

  Alt 8. Mär 2010, 09:43
Mein Post hat nichts mit der Antwort zu tun, aber hast du schon mal was von einem Alias in einem SQL-Statement gehört? Könnte sich in deinem Fall als sehr praktisch erweisen
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#3

Re: einen Wert aus einer Tabelle zweimal abfragen

  Alt 8. Mär 2010, 09:47
Ja habe ich, nur weis cih nicht wie ich es auf diesen fall anwenden soll.
Du meinst ja select Name as Besitzer....
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 12. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: einen Wert aus einer Tabelle zweimal abfragen

  Alt 8. Mär 2010, 09:57
ungetestet, in Notepad++ geschrieben..
SQL-Code:
SELECT
   ba.ID
   , bl_e.Name as erzeuger
   , bl_b.Name as besitzer
   , ba.TimeStampAktion
   , ba.Auftragsart
   , ba.Beschreibung
   , ba.Bemerkung
   , ba.Status
FROM
   backend_auftraege ba
left outer join
   backend_login bl_e on ba.ErzeugerID = bl_e.ID
left outer join
   backend_login bl_b on ba.BesitzerID = bl_b.ID
WHERE
   (ba.Status <> '0') AND ( (ba.Status <> '1') AND (ba.Status <> '4') )
ORDER BY
   ba.Status ASC,
   ba.BesitzerID ASC,
   ba.TimeStampAktion DESC
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

Re: einen Wert aus einer Tabelle zweimal abfragen

  Alt 8. Mär 2010, 10:46
Hallo SimStar001,

mir ist nicht so ganz klar worauf Du raus willst.
Die Tabellenverknüpfung läuft bei Dir über
(backend_login.ID = backend_auftraege.ErzeugerID) willst Du jetzt noch eine zusätzliche Verknüpfung
backend_login.ID = backend_auftraege.BesitzerID einfügen?

Oder willst Du "nur" backend_auftraege.Besitzer_ID und backend_auftraege.Erzeuger_ID ausgeben?

oder willst Du Dies?
SQL-Code:
Select backend_login.name Name1,bal.Name Name2
FROM backend_login,backend_login bal,backend_auftraege
where backend_login.ID = backend_auftraege.ErzeugerID
  and bal.ID = backend_auftraege.BesitzerID
(was Sniper_w vorgeschlagen hat)

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

Registriert seit: 18. Jan 2008
594 Beiträge
 
#6

Re: einen Wert aus einer Tabelle zweimal abfragen

  Alt 9. Mär 2010, 08:41
Vielen Dank für die Hilfe,

das von sniper_w ist genau das was ich brauche...

Danke nochmal!
  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 07:09 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