0

これが出力の一部です

array(7){["type"] => string(16) "new post comment" ["book_id"] => string(1) "1" ["name"] => string(9) "whatever" [ "author_id"] => string(4) "test" ["content"] => string(19) "2011-07-16 03:20:01" ["create_time"] => string(1) "3" ["id"] => string(1) "1"}

そして、これは私のクエリの一部です

                     SELECT 'bookcomment' AS type
                                ,b.book_id
                                ,b.name 
                                ,c.book_id 
                                ,c.author_id 
                                ,c.content
                                ,c.create_time AS create_time
                                ,u.id 
                                ,u.name 
                                FROM tbl_book AS b,
                                            tbl_book_comment AS c,
                                            tbl_user AS u
                                WHERE u.id=c.author_id in (1,2) AND b.book_id=c.book_id


                    UNION ALL

                    SELECT 'new post comment' AS type
                            ,po.post_id 
                            ,po.title
                            ,pc.author_id
                            ,pc.content
                            ,pc.create_time AS create_time
                            ,pc.post_id
                            ,u.id
                            ,u.name
                            FROM tbl_post as po,
                                        tbl_post_comment as pc,
                                        tbl_user as u
                            WHERE u.id=pc.author_id in(1,2) AND po.post_id=pc.post_id


                    UNION ALL

                    SELECT 'bookrating' AS type
                                ,b.book_id as one
                                ,b.name
                                ,ra.book_id
                                ,ra.user_id
                                ,ra.rating
                                ,ra.create_time AS create_time
                                ,u.id
                                ,u.name
                                FROM tbl_book AS b,
                                            tbl_user_book_rating AS ra,
                                            tbl_user AS u
                                WHERE u.id=ra.user_id in (1,2) AND b.book_id=ra.book_id


                    UNION ALL...
ORDER BY create_time DESC

示されている結果として、「author_id」に対応するデータは「content」に対応し、「content」は「create_time」に対応する必要があります。私のクエリの何が問題になっていますか?

4

1 に答える 1

1

2番目のSELECTの列の順序を混同しているようです。列は次のようになります(左側の最初のクエリ、中央の2番目、右側の3番目):

type            type            type
b.book_id       po.post_id      one
b.name          po.title        b.name
c.book_id       pc.author_id    ra.book_id
c.author_id     pc.content      ra.user_id
c.content       create_time     ra.rating
create_time     pc.post_id      create_time
u.id            u.id            u.id
u.name          u.name          u.name

pc.author_id見た目で順番がまちまちです。

于 2011-09-24T08:41:25.373 に答える