Antworten auf deine Fragen:
Neues Thema erstellen

SQL: Wert von Tabelle1 wenn in Tabelle2 dann...

mave

Nicht mehr ganz neu hier

Hallo Ihr! Ich hab irgendwie einen derben Denkfehler... ich komm einfach nicht weiter...

Habe 2 Tabellen...

tabelle1 (id, fknr, status, ende)
tabelle2 (id, fk_nr, time, anr)

time und ende sind in diesen beiden tabellen timestamps...

jetzt würde ich gerne prüfen ob die verschiedenen fknr aus tabelle 1... in tabelle 2 als fk_nr vorkommen und ob der eintrag die bedingung ende > time erfüllt...

d.h. wenn jemand die anmeldung um 08:00 (ende) getätigt hat, ob er davor schon etwas gemacht hat... z.b. um 07:00 (time)...

wenn dies der fall ist soll ein UPDATE auf status von tabelle 1 ausgeführt werden... wenn nicht dann eben nichts ausgeführt werden...

wäre tollw enn mir da jemand weiterhelfen könnte...
 

AW: SQL: Wert von Tabelle1 wenn in Tabelle2 dann...

(Ich weiß zwar nicht was die Tabellen abbilden, jedoch sieht mir die Strutkur sehr falsch aus xD)

-> SELECT * FROM tabelle1 WHERE fknr IN (SELECT fk_nr FROM tabelle2) AND ende > time

so hab ichs jetzt verstanden...^^
 
AW: SQL: Wert von Tabelle1 wenn in Tabelle2 dann...

(Ich weiß zwar nicht was die Tabellen abbilden, jedoch sieht mir die Strutkur sehr falsch aus xD)

-> SELECT * FROM tabelle1 WHERE fknr IN (SELECT fk_nr FROM tabelle2) AND ende > time

so hab ichs jetzt verstanden...^^

Habs jetzt so gemacht, scheint bis auf die update anweisung zu funktionieren... mal sehen wo da der fehler ist... glaub das hängt an dem WHERE, dass er nicht da wo die bedingungen zutreffen den status auf 2 setzt...

$data_update = " SELECT
aktion_teilnehmer.aktion_id,
aktion_teilnehmer.aktion_nr,
aktion_teilnehmer.aktion_company,
aktion_teilnehmer.aktion_forename,
aktion_teilnehmer.aktion_surname,
aktion_teilnehmer.aktion_street,
aktion_teilnehmer.aktion_zip,
aktion_teilnehmer.aktion_city,
aktion_teilnehmer.aktion_status,
aktion_teilnehmer.aktion_ende,
shop_order.fk_customer_id,
shop_order.order_time,
shop_order.order_nr
FROM
aktion_teilnehmer, shop_order
WHERE
aktion_teilnehmer.aktion_nr LIKE shop_order.fk_customer_id
AND
aktion_teilnehmer.aktion_ende < shop_order.order_time";

$result = mysql_query ($data_update);
if (mysql_num_rows ($result) > 0)
{
echo 'Hat Werte!';
$sql="UPDATE aktion_teilnehmer SET aktion_teilnehmer.aktion_status = '2' WHERE aktion_teilnehmer.aktion_nr LIKE shop_order.fk_customer_id;";
$result = mysql_query($sql);
}
else
{
echo 'Hat keine Werte!';
}
 
Zuletzt bearbeitet:
AW: SQL: Wert von Tabelle1 wenn in Tabelle2 dann...

Am besten führst du den Query in phpmyadmin aus und schaust dort (evtl mit Testdaten) ob alles richtig funktioniert.
 
AW: SQL: Wert von Tabelle1 wenn in Tabelle2 dann...

Du vergleichst zwei Zahlen (FK_Nr) mit LIKE. LIKE ist nicht für Zahlenvergleich da.

Gruß
Enrico
 
AW: SQL: Wert von Tabelle1 wenn in Tabelle2 dann...

$data_update = " SELECT
aktion_teilnehmer.aktion_id,
aktion_teilnehmer.aktion_nr,
aktion_teilnehmer.aktion_company,
aktion_teilnehmer.aktion_forename,
aktion_teilnehmer.aktion_surname,
aktion_teilnehmer.aktion_street,
aktion_teilnehmer.aktion_zip,
aktion_teilnehmer.aktion_city,
aktion_teilnehmer.aktion_status,
aktion_teilnehmer.aktion_ende,
shop_order.fk_customer_id,
shop_order.order_time,
shop_order.order_nr
FROM
aktion_teilnehmer, shop_order
WHERE
aktion_teilnehmer.aktion_nr LIKE shop_order.fk_customer_id
AND
aktion_teilnehmer.aktion_ende < shop_order.order_time";

$result = mysql_query ($data_update);
if (mysql_num_rows ($result) > 0)
{
$num_rows = mysql_num_rows($result);
echo 'Es wurden '.$num_rows.' Datens&auml;tze aktualisiert...';

$result = mysql_query ($data_update);
while ($row = mysql_fetch_object($result))
{
echo $row->aktion_id;
echo $row->aktion_nr;
echo $row->aktion_status;
echo $row->aktion_ende;
echo $row->fk_customer_id;
echo $row->order_time;
echo $row->order_nr;

$sql="UPDATE aktion_teilnehmer SET aktion_status = '2' WHERE aktion_id LIKE '.$row->aktion_id.'";
$result = mysql_query($sql);
}
}
else
{
echo 'Es wurden keine Datensätze aktualisiert...';
}

Es funktioniert eigentlich... die echo $... Zeilen liefern mir genau die Werte, die ich haben möchte... Problem ist nur ich bekomm jetzt "Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource" für die Zeile wo "while ($row = mysql_fetch_objetct..." steht... :(
 
AW: SQL: Wert von Tabelle1 wenn in Tabelle2 dann...

die frage mag jetzt noch doof klingen... aber ist es möglich zwei mal AND in einer Abfrage zu verwenden?

$data_update = " SELECT
aktion_teilnehmer.aktion_id,
aktion_teilnehmer.aktion_nr,
aktion_teilnehmer.aktion_company,
aktion_teilnehmer.aktion_forename,
aktion_teilnehmer.aktion_surname,
aktion_teilnehmer.aktion_street,
aktion_teilnehmer.aktion_zip,
aktion_teilnehmer.aktion_city,
aktion_teilnehmer.aktion_status,
aktion_teilnehmer.aktion_ende,
shop_order.fk_customer_id,
shop_order.order_time,
shop_order.order_nr
FROM
aktion_teilnehmer, shop_order
WHERE
aktion_teilnehmer.aktion_nr LIKE shop_order.fk_customer_id
AND
aktion_teilnehmer.aktion_status = '1'
AND
aktion_teilnehmer.aktion_ende < shop_order.order_time";

würde dann so aussehen...
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.940
Beiträge
1.540.016
Mitglieder
68.075
Neuestes Mitglied
falke69
Oben