WHERE절에서 서브쿼리를 사용하다가 막혔다.
Operand should contain 1 column(s)
=> 해석 : 피연산자는 1개의 열을 포함해야 한다.
SELECT food_type , rest_id , rest_name , favorites FROM REST_INFO WHERE food_type IN ( SELECT food_type , MAX(favorites) FROM REST_INFO GROUP BY food_type ) ORDER BY food_type DESC
'IN' 안에서의 SELECT문은 단일컬럼을 반환해야 한다.
WHERE 절에서 조건을 건 컬럼 만큼 SELECT를 해와야 한다.
1. WHERE (a,b,c,d) IN (SELECT a,b FROM A GROUP BY x)
(...생략) WHERE (food_type, favorites, rest_id) IN ( SELECT food_type , MAX(favorites) FROM REST_INFO GROUP BY food_type ) (...생략)
2. WHERE (a,b,c,d) IN (SELECT a,b FROM A GROUP BY x)
(...생략) WHERE (food_type, favorites, rest_id, views) IN ( SELECT food_type , MAX(favorites) , rest_id , views FROM REST_INFO GROUP BY food_type ) (...생략)
WHERE 절에서 서브쿼리를 사용할 시 조건을 건 컬럼을 SELECT 절에 넣을 것
WHERE (이곳에 작성한 컬럼들을) IN (
SELECT (이곳에 그대로 적자)
FROM 테이블명 )