1

次のようなクエリがあります。

SELECT DISTINCT 
        obl_books.book_id,
        obl_books.long_title,
        obl_books.short_title,
        obl_authors.first_name
FROM 
        obl_books,
        obl_authors,
        books_authors
WHERE 
        obl_books.book_id = books_authors.book_id
    AND 
        obl_authors.author_id = books_authors.author_id
    AND 
        obl_books.short_title = 'SQL'

著者ごとに2つの別々の行が表示されます。次のように一列に並べたい:

Book1| SQL REFERENCE | author1 | author2 | author3

SQLクエリで直接、またはResultSetの結果に何かをすることで、どうすればそれを達成できますか? よろしくお願いします。PLSQLメカニズムなしで教えてください。

4

3 に答える 3

1

MySQL を使用している場合は、これを試してください。

SELECT DISTINCT 
        obl_books.book_id,
        obl_books.long_title,
        obl_books.short_title,
        GROUP_CONCAT(obl_authors.first_name, ',')
ETC...

セパレーター (カンマ) を任意のものに変更します

于 2013-08-30T13:13:05.367 に答える