0
에 1 열을 포함해야합니다. 두 번째 필드 "e.occured_at"를 삽입하려고하면이 오류가 발생합니다. 하위 쿼리에서이 테이블의 필드를 선택하고 싶습니다. 고쳐?피연산자는 하위 쿼리
는SELECT DISTINCT (
inbox_msg.id_conversation
), users.name, users.surname, users.username, n. * , image_upload.name_image, (
SELECT e.message, e.occured_at
FROM inbox_msg e
WHERE e.id_user = inbox_msg.id_user
ORDER BY occured_at DESC
LIMIT 1
) AS last_msg
FROM (
SELECT *
FROM inbox_join
WHERE (
id_user =1 || id_user_2 =1
)
)n
INNER JOIN inbox_msg ON n.id_conversation = inbox_msg.id_conversation
INNER JOIN users ON users.id = inbox_msg.id_user
INNER JOIN image_upload ON image_upload.id_image = users.profile_image
WHERE inbox_msg.id_user <>1
ORDER BY n.occured_at DESC
하위 쿼리는 쿼리의 한 필드를 나타내며 여러 필드가 될 수 있다고 생각하지 않습니다. 가장 쉬운 방법은 e.message에 하나, e.occured_at에 하나씩 두 개의 하위 쿼리를 포함시키는 것입니다. 테이블 inbox_msg가 이미 FROM 절에 있지만 데이터 구조를 알지 못하기 때문에 하위 쿼리를 피할 수있는 방법이있을 수 있습니다. – gregory