2012-02-29 2 views
0

쿼리에서 응답에서 열을 제거 할 수 있습니까? 3 개의 테이블을 조인하고 쿼리 자체에 대해 더 많은 또는 더 적은 모든 열이 필요하므로 일부 열이 필요하지 않습니다. 응답에 표시됩니까? 그들은 다른 쿼리에서 참조해서,PHP MYSQL 쿼리 - 응답에서 열을 제거합니다

$sth = mysql_query(" 
     SELECT 
      tbl_subApp2Tag.*, 
      tbl_subApp.*, 
      tbl_tag.* 
      ISNULL(tbl_userDeviceNOTTag.userDevice_id) AS selected 

     FROM tbl_subApp2Tag 

     LEFT JOIN tbl_subApp 
      ON tbl_subApp.id = tbl_subApp2Tag.subApp_id 
      AND tbl_subApp.subApp_id = '".$sub."' 

     LEFT JOIN tbl_tag 
      ON tbl_tag.id = tbl_subApp2Tag.tag_id 

     LEFT JOIN tbl_userDeviceNOTTag 
      ON tbl_userDeviceNOTTag.tag_id = tbl_tag.id 
      AND tbl_userDeviceNOTTag.userDevice_id = '".$user."' 

     WHERE tbl_subApp2Tag.subApp_id = tbl_subApp.id 

     ORDER BY tbl_tag.name ASC "); 
    if(!$sth) echo "Error in query: ".mysql_error(); 
    while($r = mysql_fetch_assoc($sth)) { 
     $rows[] = $r; 
    } 
+0

이것은 내가 올바르게 당신을 도울 수 있습니다. http://stackoverflow.com/questions/9122/select-all-columns-except-one-in-mysql – Narek

+0

어떤 열이 필요합니까? 기본적으로 SELECT에 원하는 열만 포함하면됩니다. JOIN 또는 WHERE 절에서 SELECT를 사용하기 위해 이들을 SELECT에 포함 할 필요는 없습니다. –

+0

이 작업을 수행하는 가장 좋은 방법은 명시 적으로 필요한 열을 지정하는 것입니다. –

답변

2

당신은 결과 테이블의 열을 포함 할 필요가 없습니다 :

는 내가 가지고있는 쿼리입니다. 필요한 열을 선택하기 만하면됩니다.

+0

SELECT에서 의미가 있습니까? 나는 이것을 시도했다. 예를 들어 tbl_subapp. *를 tbl_subapp.id로 바꿨다. 쿼리 오류 : SQL 구문에 오류가 있습니다. mysql_fetch_assoc() : 라인 5
경고에서 'tbl_subApp2Tag FROM \t \t \t \t \t을 선택 AS ISNULL (tbl_userDeviceNOTTag.userDevice_id)'근처를 사용할 수있는 권리 구문에 대한 MySQL 서버 버전에 해당하는 설명서를 확인 공급 인수가 유효한 MySQL 결과 자원이 아닙니다. –

+0

구문에서 오류 일 수 있습니다. 나는 원래 쿼리에서 쉼표가 누락 된 것으로 나타났습니다. –

+0

그게 어디 있지? –