sql Zugriff auf andere Tabellen in einer select anweisung
xpfreund
- datenbank
0 King^Lully0 xpfreund
0 King^Lully
Hallo,
Wie kann man auf Inhalte einer anderen Tabelle zugreifen?
Wähle dies und das aus Tabelle x aus, wo dies=jenes aus y ist.
also: select dies, das from x where dies=(jenes aus tabelle y)
Danke für eure Hilfe
gruß aus Senftenberg
Wie kann man auf Inhalte einer anderen Tabelle zugreifen?
Wähle dies und das aus Tabelle x aus, wo dies=jenes aus y ist.
also: select dies, das from x where dies=(jenes aus tabelle y)
Danke für eure Hilfe
SELECT
DT1.DF1,
DT2.DF1,
FROM
DT1
JOIN
DT2 ON (<JOINBEDINGUNG>)
Oder:
SELECT
DF1
FROM
DT1
UNION SELECT
DF1
FROM
DT2
Was willst Du denn genau?
Hallo,
Was willst Du denn genau?
Also: Tabelle termine
an event datum
Tabelle users
ID name
SELECT an, event, datum FROM termine WHERE event='$event' AND an=8 AND datum='$datum5'
selektiere nur an, event und datum von termine, wenn das event, an und datum über einstimmen.
$event und $datum5 werden bei jedem Schleifendurchlauf (foreach) verändert. "an=8" bezeichnet das Feld "an" mit der User_id "8".
Nun soll aber "an" immer eine ID aus der Tabelle users sein, damit bei jedem Durchlauf ein anderer User ausgewählt wird.
Hintergrund: Aus einer Textdatei werden Datum und Feiertag eingelesen, diese werden durch eine foreach-Schleife in die Tabelle termine eingetragen.
Um jetzt zu verhindern, das beim nächsten Durchlauf die gleichen Termine für den gleichen User noch einmal eingetragen, benutze ich die oben angefragte Schleife, lasse die als numerisches Array ausgeben und prüfe mit einer if-Anweisung, ob mehr als eine Zeile vorhanden ist.
Wenn ja, kann er sich die Einfügeop sparen, wenn nicht trage ein.
Wie gesagt,diese select-Anweisung funktioniert schon, nur das, was ja meine Frage ist, "an" eben nicht immer 8, sondern eine ID aus users sein soll.
Ich hoffe, dir ist es jetzt klarer, was ich bezwecken will.
gruß aus Senftenberg
Was willst Du denn genau?
Also: Tabelle termine
an event datumTabelle users
ID nameSELECT an, event, datum FROM termine WHERE event='$event' AND an=8 AND datum='$datum5'
selektiere nur an, event und datum von termine, wenn das event, an und datum über einstimmen.
[code lang=sql]
SELECT
an,
event,
datum
FROM
termine
WHERE
(event='$event') AND
(an =
(
SELECT
<BEDINGUNG>
) AND
(datum='$datum5')
War jetzt mein letzter Versuch, muss weg, LG
Wie kann man auf Inhalte einer anderen Tabelle zugreifen?
Wähle dies und das aus Tabelle x aus, wo dies=jenes aus y ist.
also: select dies, das from x where dies=(jenes aus tabelle y)
Danke für eure Hilfe
Oder:
SELECT
DF1
FROM
DT1
WHERE
DF2 IN
(
SELECT
DF1
FROM
DT2
)