Abfrage aus zwei Tabellen

Alles, was PHP betrifft, kann hier besprochen werden.

Abfrage aus zwei Tabellen

Postby TheEngineer » 14. July 2008 11:42

Hallo Gemeinde,
ich habe ein kleines Problem wo mir momentan der Ansatz fehlt:
Es geht sich um folgendes:
Eine Datenbank "Name "DB" , darin zwei Tabellen Name "T1 und T2"
Das ist T1
Feld
plz
rep_nr
status
textbs1
textbs2
textbs3

und hier T2
Feld
kurzz
textz1
textz2
textz3
textz4
textz5
in T1 sind in drei Spalte (textbs1,2,3) kurzzechen wie zb"V11, V12, V13...usw.
In T2 sind die Kurzzeichen(kurzz) UND die Erklärung der Kurzzeichen (textz1).
Nun kommts:
ich möchte durch eine Abrage daten aus T1 erhalten UND die Erklärung die in T2 in den Feldern textz1,2,3 bekommen.
Als Beispiel:
in T1 steht in textbs1 der Wert V12, dann soll automatisch in T2 die Erklärung zu V12 herausgesucht werden.
Ich habe das jetzt mit mehreren Abfragen realisier, aber das kanns ja nicht seinen denk ich mal. Es gibt da bestimmt noch eine weitaus elegantere Lösung

Gruß
Engineer
TheEngineer
 
Posts: 25
Joined: 01. February 2006 21:17
Location: Braunschweig

Postby Stepke-DSL » 14. July 2008 11:58

Hallo,

Das kannst du über eine VIEW erreichen, oder über eine Abfrage mit JOIN.

Hier mal ein Beispiel für JOIN:

Code: Select all
SELECT * FROM `T1` INNER JOIN `T2` ON `T1`.`textbs1` = `T2`.`kurzz`


und hier ein VIEW:

Code: Select all
 CREATE VIEW `_bla` AS SELECT * FROM `T1` , `T2` WHERE `T1`.`textbs1` = `T2`.`kurzz`


Ist aber nicht getestet...

Das erstellte VIEW kann man dann wie eine Tabelle benutzen.

MfG Stepke
Stepke-DSL
 
Posts: 313
Joined: 12. July 2007 16:08
Operating System: Win XP Pro SP3 + SuSe Linux

Postby TheEngineer » 14. July 2008 12:04

Hallo Stepke,
erst mal vielen Dank.
Der Ansatz hilft mir schon mal weiter. Muss ich dazu in meiner Tabellenstruktur noch etwas beachten? Muss dazeri eine Verknüpfung der Tabellen angelegt werden?
Kann ich einen Viei wie gewohnt ausgeben lassen?

Gruß
Engineer
TheEngineer
 
Posts: 25
Joined: 01. February 2006 21:17
Location: Braunschweig

Postby Stepke-DSL » 14. July 2008 12:41

In der Struktur musst du auf nichts achten (soweit ich mich erinnere).

Das VIEW legst du einmal per SQL an und verwendest es dann wie eine ganz normale Tabelle.
Ein VIEW greift auf die Tabellen zu, die du ihm übergeben hast. In deinem Fall T1 und T2.
Stepke-DSL
 
Posts: 313
Joined: 12. July 2007 16:08
Operating System: Win XP Pro SP3 + SuSe Linux

Postby TheEngineer » 20. July 2008 12:46

Hallo Stepke,
ich habe beide Abfragearten (Join und View) mal ausprobiert und gehen beide prima. Vielen Dank noch mal.
Fur meine Anwenung habe ich den Join eingesetzt.
Änderungen oder spetielle Konfigurationen an den Datenbanktabellen sind nicht notwendig.

Gruß
Engineer
TheEngineer
 
Posts: 25
Joined: 01. February 2006 21:17
Location: Braunschweig


Return to PHP

Who is online

Users browsing this forum: No registered users and 1 guest