집 >데이터 베이스 >MySQL 튜토리얼 >하위 쿼리에서 MySQL의 '피연산자는 1개의 열을 포함해야 합니다' 오류를 수정하는 방법은 무엇입니까?
데이터베이스 개발 중에 MySQL 오류가 발생하는 것은 흔한 일입니다. 이러한 오류 중 하나인 "'#1241 - 피연산자는 1개의 열을 포함해야 합니다.'"는 여러 열을 반환하는 하위 쿼리를 사용할 때 자주 발생합니다. 이는 일반적으로 하위 쿼리가 단일 열 결과를 기대하는 외부 쿼리에 둘 이상의 열을 제공할 때 발생합니다.
오류 메시지는 하위 쿼리에서 반환된 열 수와 기본 쿼리의 예상 열 수가 호환되지 않음을 나타냅니다. 외부 SELECT
문은 다중 열 하위 쿼리 결과를 단일 값인 것처럼 사용하려고 시도합니다.
이 오류는 쿼리 구조를 조정하여 해결할 수 있습니다. 다음은 두 가지 효과적인 접근 방식입니다.
<code class="language-sql">SELECT t.id, t.name, t.post_count, t.view_count, COUNT(p.solved_post) AS solved_post, u.username AS posted_by, u.id AS posted_by_id FROM topics t LEFT OUTER JOIN posts p ON p.topic_id = t.id LEFT OUTER JOIN users u ON u.id = p.posted_by WHERE t.cat_id = :cat GROUP BY t.id;</code>
MAX()
, MIN()
, AVG()
)를 사용하거나 users
테이블<code class="language-sql">SELECT t.id, t.name, t.post_count, t.view_count, COUNT(p.solved_post) AS solved_post, (SELECT u.username FROM users u WHERE u.id = p.posted_by) AS posted_by_username FROM topics t LEFT OUTER JOIN posts p ON p.topic_id = t.id GROUP BY t.id;</code>
이러한 솔루션 중 하나를 구현하면 피연산자 오류를 수정하고 MySQL 데이터베이스에서 필요한 데이터를 정확하게 검색할 수 있습니다. 최상의 솔루션 선택은 특정 데이터 요구 사항 및 쿼리 디자인에 따라 다릅니다.
위 내용은 하위 쿼리에서 MySQL의 '피연산자는 1개의 열을 포함해야 합니다' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!