AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Zwei Tabellen verknüfen

Ein Thema von Luckie · begonnen am 14. Nov 2009 · letzter Beitrag vom 14. Nov 2009
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#11

Re: Zwei Tabellen verknüfen

  Alt 14. Nov 2009, 10:38
Nein, nein.

Ungefiltert. Ich lasse mir alle Datensätze aus adressen ausgeben. Ich will aber nicht die ID der Kategorie da stehen haben, sondern den Namen der Kategorie. Mit der ID kann man ja nichts anfangen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#12

Re: Zwei Tabellen verknüfen

  Alt 14. Nov 2009, 10:41
Hi Luckie,

schau dir doch am besten mal an wie JOINs in SQL generell funktionieren. Musst du ein paar mal üben und dann hast du sicher den Bogen raus und du merkst dass das was du machen willst total einfach ist

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Zwei Tabellen verknüfen

  Alt 14. Nov 2009, 10:42
Dieser steht doch in k.name
Oder meinst du eine 2. Abfrage über alle Adressen, dann lasse einfach die where clause weg.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Zwei Tabellen verknüfen

  Alt 14. Nov 2009, 10:55
@Neutral General: Das Versuche ich auch gerade, habe aber so meine Schwierigkeiten damit.

@mkinzler:
Zitat:
Oder meinst du eine 2. Abfrage über alle Adressen, dann lasse einfach die where clause weg.
Ja das meinte ich.

Wenn ich das so mache:
Code:
$query = "SELECT a.*
                     FROM adressen a, adr_kategorien k
                     WHERE a.kategorie_id = k.id";
               $resultset = mysql_query($query);
               while($row = mysql_fetch_object($resultset))
               {
               
                  echo "<tr>
                     <td>[url='./details.php?id=".$row->id."']".$row->name."[/url]</td>
                     <td>[url='./details.php?id=".$row->id."']".$row->vorname."[/url]</td>
                     <td></td>
                     <td>".$row->priv_strasse."</td>
Bekomme ich nur alle Datensätze bei denen das feld kategorie_id nicht leer ist.

Das zweite Problem ist, wie greife ich dann auf das Ergebnis zu? Ich habe ja in beiden Tabellen das Feld name. Über
Code:
$row->...
wird es wohl nicht gehen oder?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Zwei Tabellen verknüfen

  Alt 14. Nov 2009, 10:58
SQL-87 unterstützt nur inner joins. für outer Joins benötigst du die SQL-92 Syntax:
SQL-Code:
SELECT
    a.*,
    k.name as Kategorienname
FROM
    adressen a
        Left outer JOIN adr_kategorien k on k.id a.kategorie_id;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Zwei Tabellen verknüfen

  Alt 14. Nov 2009, 10:59
Dann vergib doch Aliase auf die Felder, damit werden sie eindeutig identifizierbar.
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
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#17

Re: Zwei Tabellen verknüfen

  Alt 14. Nov 2009, 11:06
Da muss was falsch sein:
Code:
$query = "SELECT
                     a.*,
                     k.name as k_name
                     FROM adressen a
                     LEFT OUTER JOIN adr_kategorien k on k.id a.kategorie_id";
Zitat:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Zwei Tabellen verknüfen

  Alt 14. Nov 2009, 11:08
Lass mal das OUTER weg
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Zwei Tabellen verknüfen

  Alt 14. Nov 2009, 11:09
Da fehlt ein Gleichheitszeichen in der JOIN-Bedingung.
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
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#20

Re: Zwei Tabellen verknüfen

  Alt 14. Nov 2009, 11:17
Zitat von DeddyH:
Da fehlt ein Gleichheitszeichen in der JOIN-Bedingung.
Autsch, das hätte ich auch sehen müssen. Danke euch allen, jatzt habe ich, was ich brauche.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
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 12:31 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