2012-01-12 2 views
2

SQL 쿼리를 반복하는 것이 좋지 않으므로이 두 쿼리를 하나로 변경하고 싶습니다.sql이 JOIN과 2 개의 쿼리를 결합한 경우

JOIN에서 너무 큰 것은 아니며,이 두 가지를 병합하는 방법을 알아 내려고 애쓰며, 거기에는 DISTINCT가 있습니다.

$sql_result2 = mysql_query("SELECT DISTINCT gang FROM turfs WHERE city='$city'", $db); 
while ($rs2 = mysql_fetch_array($sql_result2)) { 

    $sql_result3 = mysql_query("SELECT (SELECT COUNT(*) FROM turfs WHERE city='$city' AND gang=g.id) as count, g.id, g.name, g.color FROM gangs g WHERE g.id='$rs2[gang]'", $db); 
    $rs3 = mysql_fetch_array($sql_result3); 

의견이 있으십니까?

+1

** 경고 ** 코드 내가 알고 아니었다 ''$의 city''이 쿼리 –

+0

에 취약하다 그건 내 일이지만. – user1022585

+0

전에 mysql_escaped되는 SQL 주입 공격 –

답변

2

같은과 가입 및 그룹 :

select count(*) as count, G.ID, G.NAME, G.COLOR 
from  GANGS G join TURFS T on T.GANG = G.ID 
where CITY = '$city' 
group by G.ID, G.NAME, G.COLOR 
+0

감사합니다. 위대한 작품 – user1022585

관련 문제