insert into mit subquery
am 17.01.2007 14:04:06 von Christian SchmidtHallo,
folgende Struktur
table1
===========
user(int)
content(text)
table2
===========
user-key(int)
user-hash(text)
table3
===========
table3-key(auto_increment)
user-key(int)
content(text)
Ich möchte 'content' aus table1 in table3 kopieren. Die Zuordnung zum
User geht nur indirekt über table2. Und zwar ist
user-hash=md5(table1.user-id).
Sinn des ganzen ist, daà man über table3 nicht (direkt) herausfinden
kann, welcher user dahinter steckt.
INSERT INTO table3
SELECT
NULL,
(SELECT t2.user-key
FROM table1 t1_2, table2 t2
WHERE
t1.user = t1_2.user AND
t2.user-hash = MD5(t1_2.user)),
t1.content
FROM
table1 t1, table2 t2;
Als Fehler von mySQL kommt
ERROR 1242 (21000): Subquery returns more than 1 row
Was das bedeutet ist mir klar, nur wie muss ich meine Subquery ändern,
damit nur eine Zeile rauskommt?
Chris