나는이 정보 형식 두 테이블을 호출하는 쿼리가 있습니다.mysql 쿼리 두 테이블에서 두 행
친구 목록에 사용자 이름이 표시되면 사용자 이름과 아바타를 받고 싶습니다. 아바타 행은 avatar
입니다. 나는 이것으로 시도한다.
DB::get("SELECT friends. * , (SELECT `login`, `*avatar*` FROM `users` WHERE `users`.`id` = friends.`user_id`) AS `login` FROM `friends` WHERE `id_user`='" . $this->user['id'] . "' ORDER BY `id` DESC LIMIT ")
그리고 나에게 오류 실수가
SQLSTATE[21000]: Cardinality violation: 1241 Operand should contain 1 column(s)
을 제공?
[** SQLSTATE \ [21000 \] 중복 가능성이있는 카디널리티 위반 : 1241 피연산자에 1 열이 포함되어야합니다. SQL 쿼리 **] (https://stackoverflow.com/questions/38326246/sqlstate21000-cardinality-violation-1241-operand-should-contain-1-columns)를 사용하면 하나 이상의 열을 반환 할 수없고 대신에'join '하십시오. – Nope
여러 열을 선택하고 하나의 열 이름에 할당하려고하면 결코 작동하지 않으므로 그럴 수 있습니다. 이해가 안되기 때문에 생각하면됩니다 ... 그리고 mysql 엔진은 그것에 대해 생각하고 이것에 대한 예외를 추가했습니다. 그 오류를 throw합니다. 이제 JOIN의 사용법을 제안하는 답변을 볼 수있을 때 어떻게 극복 할 수 있습니까? JOIN을 직접 사용해보고 문제가 있는지 알려주세요. –
@AbhikChakraborty 본보기로 도와주세요. – Martinovska