programing

WHERE 절이 있는 MySql 내부 가입

shortcode 2023. 1. 19. 07:20
반응형

WHERE 절이 있는 MySql 내부 가입

코드는 다음과 같습니다.

 SELECT table1.f_id  FROM table1 WHERE table1.f_com_id = '430' AND      
 table1.f_status = 'Submitted' 
 INNER JOIN table2
 ON table2.f_id = table1.f_id
 where table2.f_type = 'InProcess'

정보가 필요합니다.table1와 관련된 모든 아이디로서f_com_id430 및 제출된 상태이며 유형은 다른 테이블에 저장되어 있는 처리 중이어야 합니다(table2)

f_idp_key그리고.f_key두 테이블 모두.
하지만 이렇게 해서 오류가 나는 것 같아요.WHERE조항이 틀렸어요. 어떻게 고치죠?

오류 메시지: #1064 - SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 설명서에서 'INNER JOIN table2 ON table2' 근처에서 사용할 올바른 구문을 확인하십시오.f_id = 2행의 '

네, 당신이 맞아요.배치했습니다.WHERE절이 틀렸습니다.1개만 사용할 수 있습니다.WHERE단일 쿼리의 절이므로 시도해 보십시오.AND다음과 같은 여러 조건의 경우:

 SELECT table1.f_id  FROM table1 
   INNER JOIN table2
     ON table2.f_id = table1.f_id
 WHERE table2.f_type = 'InProcess'
   AND f_com_id = '430'
   AND f_status = 'Submitted' 


1. WHERE 절 앞에 INSER JOIN을 변경합니다.
2. 허용되지 않는 두 개의 WHERE가 있습니다.

이것을 시험해 보세요.

table1을 선택합니다.f_id FROM 테이블1내부 결합 테이블 2ON(표2)f_id = table1 。f_id AND 테이블2f_type = 'InProcess')Where 표1.f_com_id = 'filename' AND table1 。f_status = '제출됨'

where 절은 하나만 쓸 수 있습니다.

 SELECT table1.f_id  FROM table1
 INNER JOIN table2
 ON table2.f_id = table1.f_id
 where table1.f_com_id = '430' AND      
 table1.f_status = 'Submitted' AND table2.f_type = 'InProcess'

2개를 사용하고 있습니다.WHERE1개만 허용됩니다.다음과 같이 사용합니다.

SELECT table1.f_id FROM table1
INNER JOIN table2 ON table2.f_id = table1.f_id
WHERE
  table1.f_com_id = '430'
  AND table1.f_status = 'Submitted'
  AND table2.f_type = 'InProcess'

언급URL : https://stackoverflow.com/questions/12364602/mysql-inner-join-with-where-clause

반응형