PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SQL Abfrage



ExeCRabLE
12-06-2003, 09:14
Hallo zusammen,

ich möchte mit einen Select auf eine Tabelle anhand eines identifiers aus einer anderen Tabelle eine Zeile auslesen.

1. Tabelle (T1)
--------------------
| ID | NAME |
--------------------
| 10 | TEST |
--------------------

2. Tabelle (T2)

-----------------------------------------
| ID | FID | SERVERNAME |
-----------------------------------------
| 1 | 10 | TEDDY |
| 2 | 20 | DUMMY |
-----------------------------------------

Mit dem Wert "TEST" möchte ich die ID aus der T1 auslesen und diese T1.ID auf die T2 anwenden, um SERVERNAME.T2 zu erhalten.

Könnt ihr mir sagen, wie der Selectbefehl aussehen muss ??

ich habe nun schon etliche versuche unternommen aber ich bin wohl zu bedeppert dafür ;)

cu
ExeCRabLE

ExeCRabLE
12-06-2003, 09:34
Verdammt, oder freu ?!... jetzt habe ich es doch hinbekommen :D

Select :

SELECT T2.SERVER FROM T2 JOIN T1 ON T2.FORMID=T1.ID where T1.NAME ='TEST'

cu
ExeCRabLE

ComSubVie
12-06-2003, 13:51
select t2.servername from t2 where t2.id = (select t1.id from t1 where t1.name="test")

(so die theorie ;))

elrond
12-06-2003, 14:20
wird aufgrund des subselcts bei mysql danebengehen...

einfacher:

select t2.servername from t1, t2 where t1.id= t2.id and t1.name="test"

Christoph
13-06-2003, 08:30
wird aufgrund des subselcts bei mysql danebengehen...

Wer sagt denn, dass der Fragensteller nicht vielleicht eine richtige
Datenbank verwendet?

Wenn ja, dann würde ich beides mal ausprobieren und gucken was schneller
ist (Indizes auf Foreign Key Feldern natürlich vorausgesetzt).