Autor Zpráva
vrchni
Profil *
Dobrý den,

už nějakou hodku se perou a nevyhrávám. Chci docílit toho, že v dotazu se bude zjišťovat zda jsou v jiném účtu stejná data. Pokud najde třeba i jen 2 shody, tak aby vypsal 1. Takhle jak to mám mi to vypusuje 2 i když neexistuje shoda. Moc prosím, kde dělám chybu? Dˇ
$ob = mysql_result(mysql_query("SELECT COUNT(uz.id) FROM user us
        LEFT JOIN user uz ON us.id = uz.id
         WHERE us.account='user' AND uz.account='block' AND us.id=uz.id OR us.contact=uz.contact OR us.os=uz.os"),0);
Tori
Profil
A opravdu chcete porovnávat shody mezi účty se stejným ID, anebo hledáte shody mezi jakýmkoli účtem z us a jakýmkoli (i jiným) z uz?
vrchni
Profil *
Jde mi o to, ze ten dotaz ma zjistit zda je jiny ucet se shodnymi daty. Je to kvůli detekci obchazení zákazu. Dotaz se tím komplikuje protoze mi jde i o jednu shodu a vic. Pokud najde dva jine ucty (id: 1, id:2) tak vypíše 2 shody. Má tedy zjistovat zda jsou jine ucty s totoznými daty.
Tori
Profil
Tak potom spíš něco jako:
SELECT us.id, uz.id as duplicita
FROM `user` us
INNER JOIN `user` uz ON uz.account = 'block' AND (us.id = uz.id OR us.contact = uz.contact OR us.os = uz.os)
WHERE us.account = 'user'
GROUP BY us.id, uz.id
vrchni
Profil *
Bomba, ono to vážně maká :-)
Moc děkuju ani ve snu mě nenapadlo, že mi někdo poradí tak rychle a dobře. Fakt, jste dobrej. Velké děkuji a to myslím upřímně. Sámotnýho by mě to takhle sestavit nenapadlo

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: