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}__ __ _

Search the boards