두 테이블이 있습니다. 하나는 모든 데이터가 있고 다른 하나는 주석 목록이 있으며 데이터 테이블의 각 행에 최신 코멘트를로드해야합니다. 여기 보이는 방법 SQL - 모든 행의 최신 주석을 반환하십시오.
같은 테이블 :queries
id | name |
--------------------
1 | John Doe |
2 | Jane Doe |
3 | Alex Smith |
테이블 : messages
id | queriesId | comment | dateAdded |
--------------------------------------------------------
1 | 1 | Comment 1 | 2016-06-12 15:00:08 |
2 | 1 | Commetn 2 | 2016-06-12 15:01:08 |
3 | 2 | Comment 3 | 2016-06-12 15:05:35 |
4 | 2 | Comment 4 | 2016-06-12 15:06:35 |
나는 결과가이 코드를 시도이
id | name | comment | dateAdded |
--------------------------------------------------------
1 | John Doe | Commetn 2 | 2016-06-12 15:01:08 |
2 | Jane Doe | Comment 4 | 2016-06-12 15:06:35 |
3 | Alex Smith | Null | Null |
같이 할
,210SELECT
a.*,
b.comment,
b.LastComment
FROM
queries a
LEFT JOIN
(
SELECT
`comment`,
MAX(dateAdded) LastComment,
queriesid
FROM
messages
GROUP BY
queriesid
) b ON a.id = b.queriesid
GROUP BY
a.id
하지만 얻는 결과는이
id | name | comment | dateAdded |
--------------------------------------------------------
1 | John Doe | Commetn 1 | 2016-06-12 15:01:08 |
2 | Jane Doe | Comment 3 | 2016-06-12 15:06:35 |
3 | Alex Smith | Null | Null |
이다 그래서 유일한 문제는 댓글이 첫 번째 항목이 아닌 날짜 열 값에 해당하는 하나입니다. 나는 많은 변경을 시도했지만 작동하지 않는 것 같습니다. 나는 그것이 일하는 것에서 떨어져서 작은 비틀기 다라고 확신한다. 그러나 나는 그것을 발견하는 것처럼 보일 수 없다.
아이디어가 있으십니까?
처럼? mysql 또는 sql 서버? –
'\'comment \''의 백 틱 (tick)은 MySQL처럼 보입니다. –
죄송합니다. 두 태그를 모두 선택하지 않아야합니다. mysql입니다. – VeeK