>

다음 테이블에는없는 첫 번째 테이블에있는 총 값의 인원 수를 얻을 수 있습니다. 첫 번째 테이블에있는 실제 행 (결정적 행)을 볼 수 있기를 원합니다. 일단 count 를 제거하면  그리고 * 를 실행  내 코드가 터졌습니다.

SELECT
(SELECT COUNT(*) FROM act18.users)
 -
(SELECT COUNT(*)
from amp.defines, tax.apps
WHERE tc_user_apps_enroll.user_apps_id = tc_user_apps.ID
AND tc_user_apps.db_year = 2017
AND enroll_years = 1)
The result:
20585

count 를 제거 할 때  20585 행을 보려고하면 두 하위 쿼리 모두에 대해 다음 오류가 발생합니다.

Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.

20585 를 검색하는 데 도움을 요청합니다  행.

첫 번째 테이블에서만 행을 가져올 수 있습니까? 누구든지 통찰력을주세요 !!!

  • 답변 # 1

    NOT EXISTS 를 사용하겠습니다 . 다음은 쿼리의 구조입니다.

    SELECT u.*
    FROM act18.users u
    WHERE NOT EXISTS (SELECT 1
                      FROM amp.defines d JOIN
                           tax.apps a
                           ON a.user_id = u.user_id
                      WHERE d.user_apps_id = a.ID AND
                            a.db_year = 2017 AND
                            a.enroll_years = 1
                    );
    
    

    컬럼의 출처를 무작위로 추측했습니다. 귀하의 질문에 해당 정보가 명확하지 않습니다.

    나도 JOIN 를 고쳤다  구문.

  • 이전 rust-openssl을 사용하여`-starttls smtp`와 동일한 연결을 작성하는 방법은 무엇입니까?
  • 다음 c# - IL2CPP를 사용하여 Visual Studio에서 Unity Hololens 디버깅?