2つの別個のMySQL(バージョン5.6.37)クエリを渡したり、トランザクションを使用したりしないようにしようとしています。私はこれが単一のクエリで実行できると思いますが、どこに間違っているのかを知る必要があります。MySQLの列を文字列に変換する
私はこのクエリを使用する場合:
SELECT titles.t_id,title,cover,pageData.pageNum
FROM titles
JOIN biblio ON titles.t_id = biblio
JOIN pageData ON biblio.t_id = pageData.t_id
WHERE titles.t_id = '1';
をそれが正常に冗長データの3つの列に結果を返し、新しいデータの1列のみ(P_ID):
t_id | title | cover | pageNum
1 | The Art of the Deal | 32.jpg | 1
1 | The Art of the Deal | 32.jpg | 2
1 | The Art of the Deal | 32.jpg | 3
1 | The Art of the Deal | 32.jpg | 4
1 | The Art of the Deal | 32.jpg | 5
私は思います pageNum列の新しいデータが次のように1つの結果(つまり、整数値から区切られた文字列に変換される)にフラット化されるようにクエリを変更する方法があります。
t_id | title | cover | p_id
1 | The Art of the Deal | 32.jpg | 1,2,3,4,5
私はSELECT内でサブSELECTを試していましたが、一貫した構文エラーがあります。 上記の結果を得るために、以下の2つのクエリを組み合わせる方法はありますか?
SELECT titles.t_id,title,cover
FROM titles
JOIN biblio ON titles.t_id = biblio
WHERE titles.t_id = '1';
と
SELECT pageData.pageNum FROM pageData WHERE pageData.t_id = '1'
すべての偉大な答え。これは、それが最高のことを説明します。皆さんありがとうございました。 – Parapluie