Posted By: BigFoot (in your room) on 'CZdatabases'
Title: SQL
Date: Fri Sep 21 10:52:52 2001
Tak nejdriv vysvetlim problem:
Mam tabulku "members" a tabulku "purchased. Obsah prvni je asi zrejmy,
"purchased" popisuje prodane licence a na "members" se odkazuje pres id_user
(v "members" je to id). Pokud existuje pro uzivatele/"clena" zaznam v tabulce
"purchased", je pro nej v tabulce "members" pole "purchased" nastaveno na "y".
Problem je v tom, ze existuji uzivatele, kterym pri prodeji licence nebylo
pole "purchased" zmeneno na "y". Takze se o licencich vi, i se vi, komu ktera
patri, ale ten "priznak" v tabulce "members" je spatne.
Tech uzivatelu je 36, takze by to slo zmenit rucne, ale rad bych se neco
priucil, takze jsem postupoval nasledovne:
/* nejdriv zjistit, u koho to nesouhlasi ... */
SELECT
m.username
FROM
members m,
purchased p
WHERE
m.id = p.id_user AND
m.purchased = 'n';
/* ... no a potom update; zkousel jsem nasledujici ... */
UPDATE
members m,
purchased p
SET
purchased = 'y'
WHERE
m.id = p.id_user;
ERROR 1064: You have an error in your SQL syntax near 'm, purchased p SET
m.purchased = 'y' WHERE m.id = p.id_user' at line 1
/* ... a pak i tohle ... */
UPDATE
members
SET
purchased = 'y'
WHERE
members.id = purchased.id_user;
ERROR 1109: Unknown table 'purchased' in where clause
/* A co ted ? :o/ */
BigFoot, aka Yaroukh; yaroukh@email.cz
"Budiz svetlo", rekl Booh - a bylo svetlo ...
"Budiz k nicemu", rekl Booh - and here I am !
8}__ __ _