반응형
현재 다음 쿼리가 작동합니다.
$sql = $db->Query("SELECT a.id FROM surf a LEFT JOIN users b ON b.id = a.user LEFT JOIN surfed c ON c.user = '".$data['id']."' AND c.site = a.id WHERE a.active = '0' AND (b.coins >= a.cpc AND a.cpc >= '2') AND (c.site IS NULL AND a.user !='".$data['id']."')".$dbt_value." ORDER BY a.cpc DESC LIMIT 1");
하지만 다음과 같은 AND 문을 추가하고 싶습니다.
AND `cpc`<='10' AND (`id` NOT IN (SELECT `site` FROM `surfed_site`))
그래서 다음과 같이 만들었습니다.
$sql = $db->Query("SELECT a.id FROM surf a LEFT JOIN users b ON b.id = a.user LEFT JOIN surfed c ON c.user = '".$data['id']."' AND c.site = a.id WHERE a.active = '0' AND (b.coins >= a.cpc AND a.cpc >= '2') AND `cpc`<='10' AND (`id` NOT IN (SELECT `site` FROM `surfed_site`)) AND (c.site IS NULL AND a.user !='".$data['id']."')".$dbt_value." ORDER BY a.cpc DESC LIMIT 1");
하지만 다음 메시지를받습니다.
IN / ALL / ANY 하위 쿼리의 'id'열이 모호합니다.
내 쿼리에 어떤 문제가 있습니까?
해결 방법
변경 시도
AND `cpc`<='10' AND (`id` NOT IN (SELECT `site` FROM `surfed_site`))
에
AND `cpc`<='10' AND (`a.id` NOT IN (SELECT `site` FROM `surfed_site`))
어떤 테이블에서 어떤 id
열을 참조할지 확실하지 않기 때문에 a.id
가 필요합니다.
참조 페이지 https://stackoverflow.com/questions/15042296
반응형
'MySql' 카테고리의 다른 글
MySQL CF10, MYSQL SQL_SELECT_LIMIT = DEFAULT (0) | 2021.01.11 |
---|---|
MySQL 정확히 무엇을하는지 Class.forName ( "com.mysql.jdbc.Driver"). newInstance (); (0) | 2021.01.11 |
MySQL 서버의 현재 부하를 측정하는 방법은 무엇입니까? (0) | 2021.01.11 |
MySQL 동일한 열 이름을 가진 2 개의 테이블 조인 시도 (0) | 2021.01.11 |
MySQL Visual Studio 2012를 설치 한 후 참조로 Mysql.Data를 추가 할 수 없습니다. (0) | 2021.01.11 |
댓글