0
나는 images
이있는 게임을하고 있는데 각 이미지는 keywords
이고 각 키워드는 점수가 있습니다.MySQL : 여러 테이블에서 중첩 목록 선택
내가 모든 이미지를 얻으려면, 그것은 gameId
내 데이터베이스 구조에 의해 (점수) 키워드 것은 다음과 같이이다 :
게임
- ID
Image
- ID
- 게임 ID
- 이미지 URL
키워드
- 키워드
- 점수
- imageId
{
gameId: 1,
images: [
{
imageId: 1,
keywords: [
{
keyword: "keyword1",
score: 1234
}...
]
}...
]
}
내 SQL 쿼리는 다음과 같습니다 :
나는이처럼 보이는 JSON 응답 싶어
SELECT g.*, (SELECT i.*, kw.*
FROM image i LEFT OUTER JOIN keywords kw on kw.imageId=i.id
where i.gameId = g.id) as images
FROM games g LEFT OUTER JOIN users u on u.id=g.byUser WHERE g.id = 1
을하지만이 오류 얻을 :
을1241 - Operand should contain 1 column(s)
내가 뭘 잘못하고 있니? 응답에 배열을 중첩시킬 수 없습니까?
ARH 괜찮습니다. 내가 참조. 그래서 원하는 구조를 얻기 위해 새로운 배열에 데이터를 매핑해야합니까? –
@Kenneth B 다음과 같은 메시지가 표시됩니다. Row1 = {gameId : 1, imageId : 1, keyword : "keyword1", score : 1234}; Row2 = {게임 ID : 1, 이미지 ID : 1, 키워드 : "keyword2", 점수 : 1234} ... – Multisync
감사합니다. 지금은 이해합니다 ... 감사합니다 .-) –