Code:
create table test1(id int(11), session_id varchar(32))
create table test2(id int(11), test1_id int(11), descr text)
insert into test1 values(1, 'session1');
insert into test1 values(2, 'session2');
insert into test1 values(3, 'session3');
insert into test2 values(1, 1, 'opis1');
insert into test2 values(2, 2, 'opis2');
insert into test2 values(3, 3, 'opis3');
insert into test2 values(4, 1, 'opis4');
insert into test2 values(5, 1, 'opis5');
insert into test2 values(6, 2, 'opis6');
insert into test2 values(7, 3, 'opis7');
insert into test2 values(8, 2, 'opis8');
insert into test2 values(9, 1, 'opis9');
mysql> select * from test1;
+------+------------+
| id | session_id |
+------+------------+
| 1 | session1 |
| 2 | session2 |
| 3 | session3 |
+------+------------+
3 rows in set (0.03 sec)
mysql> select * from test2;
+------+----------+-------+
| id | test1_id | descr |
+------+----------+-------+
| 1 | 1 | opis1 |
| 2 | 2 | opis2 |
| 3 | 3 | opis3 |
| 4 | 1 | opis4 |
| 5 | 1 | opis5 |
| 6 | 2 | opis6 |
| 7 | 3 | opis7 |
| 8 | 2 | opis8 |
| 9 | 1 | opis9 |
+------+----------+-------+
9 rows in set (0.00 sec)
mysql> select * from test1 t1, test2 t2 where t2.test1_id = t1.id and t1.session_id = 'session1';
+------+------------+------+----------+-------+
| id | session_id | id | test1_id | descr |
+------+------------+------+----------+-------+
| 1 | session1 | 1 | 1 | opis1 |
| 1 | session1 | 4 | 1 | opis4 |
| 1 | session1 | 5 | 1 | opis5 |
| 1 | session1 | 9 | 1 | opis9 |
+------+------------+------+----------+-------+
4 rows in set (0.00 sec)
insert into test1 values(4, 'session bez detail recorda');
DELETE FROM test1.*, test2.*
USING test1
LEFT JOIN test2
ON test2.test1_id = test1.id
WHERE (test2.id IS NULL OR test2.id IS NOT NULL)
AND test1.session_id = 'session bez detail recorda';
Samo zamijeni nazive tabela i polja...
Edit: Preuredjen code, radi bolje preglednosti...
[Ovu poruku je menjao StRiPy dana 31.10.2005. u 15:53 GMT+1]