0

これが私のデータベース構造の例です。

uid  email            name
-------------------------------
1    john@gmail.com   John
2    peter@gmail.com  Peter
3    colin@gmail.com  Colin

本のテーブル

book_id  book_name
-------------------
1        PHP
2        MySQL
3        Javascripts
4        CSS

履歴表

history_uid  history_bookid
---------------------------
1            1
1            2
1            3
2            1
2            3
3            3

複数選択クエリを含む現在のステートメントhistory.history_bookid

SELECT users.uid,
       users.email,
       users.`name`,
       history.history_uid,
       history.history_bookid,
       GROUP_CONCAT(history.history_bookid) AS BookID,
       GROUP_CONCAT(book_name)              AS bookTitles
FROM   users
       INNER JOIN history
         ON users.uid = history.history_uid
       INNER JOIN book
         ON history.history_bookid = book.book_id
WHERE  history.history_bookid = 1
        OR history.history_bookid = 3
GROUP  BY users.uid  

結果

uid email            name   history_uid  history_bookid  BookID   bookTitles
---------------------------------------------------------------------------------
1   john@gmail.com   John   1            3               3,1      Javascripts,PHP
2   peter@gmail.com  Peter  2            1               1,3      PHP,Javascripts
3   colin@gmail.com  Colin  3            3               3        Javascripts

質問 :

読んだ本の完全なリストを取得するにはどうすればよいuid = 1ですか?私が欲しい出力例は、すべての本を含めることですhistory table

uid email            name   history_uid  history_bookid  BookID   bookTitles
---------------------------------------------------------------------------------
1   john@gmail.com   John   1            3               1,2,3    PHP,MySQL,Javascripts
2   peter@gmail.com  Peter  2            1               1,3      PHP,Javascripts
3   colin@gmail.com  Colin  3            3               3        Javascripts
4

2 に答える 2

1

タイトルと本のIDが必要ですか?

GROUP_CONCAT(book_name) AS bookTitlesフィールドリストにを追加します。

于 2012-05-07T21:51:23.883 に答える
1

読んだ本の完全なリストを取得するにはどうすればよいuid = 1ですか?

WHEREこれをフィルターオプションとして句に追加します。

WHERE history.history_bookid IN (1,3) OR users.uid = 1
于 2012-05-07T22:44:30.820 に答える