(04-02-2012, 23:21)mateo napisał(a): Można na kilka sposobów, pobierasz id z obydwu tabeli i przypisujesz je do osobnych tablic następnie porównujesz i wynikiem jest lista numerów występujących w dwóch tabelach. Rozwiązanie działa ale nie jest najlepsze, dlatego polecam skorzystać z http://dev.mysql.com/doc/refman/5.0/en/join.html
W grę wchodzi tylko i wyłącznie JOIN. Myślałem o takim zapytaniu:
Kod:
SELECT t1.username FROM tabela1 t1
JOIN tabela2 t2 ON t1.id = t2.user_id
JOIN tabela2 t3 ON u.id = t3.uploader_id
Chyba działa dobrze, ale jak dodamy do tego DISTINCT i również COUNT do zliczenia ilości userów to zapytanie do bazy potrafi trwać do 1 min (ilość wpisów w tabeli1 ok. 1mln). To zdecydowanie za długo.