1

私は2つのテーブルを持っています:

CREATE TABLE "object_comment" 
("object_id" INTEGER PRIMARY KEY  NOT NULL, 
"object_comment_text" TEXT, 
"object_comment_title" TEXT, 
"object_comment_date" DATETIME)

CREATE TABLE "object_comment_mark" 
("object_id" INTEGER PRIMARY KEY  DEFAULT null, 
"object_comment_mark_value" FLOAT DEFAULT null, 
"object_comment_mark_date" DATETIME DEFAULT null)

それらを object_id フィールドと結合する必要がありますが、一意の行も結果に表示されるはずです。(1 つの行に結合する必要があるいくつかの等しい object_id 値があり、いくつかの object_id 値は異なりますが、それらは結果テーブルにあるはずです)

今、私はこの選択クエリを持っています:

SELECT *
FROM object_comment
LEFT OUTER JOIN object_comment_mark ON object_comment.object_id = object_comment_mark.object_id

しかし、この場合、object_id が一意の値を持つ 2 番目のテーブルの行はありません。何か助けはありますか?

編集:私が必要なもの

object_comment

1 | bla-bla | first | 2013
2 | be-be   | sec   | 2014

object_comment_mark

1 | 5 | 2013
4 | 3 | 2013

結果

1 |bla-bla | first| 2013 | 5 | 2013
2 | be-be  | sec  | 2014 |   |     
4 |        |      |      | 3 | 2013
4

2 に答える 2

0

私はあなたの質問を正確に理解していません...

これは必要ですか?

SELECT * FROM object_comment
INNER JOIN object_comment_mark ON object_comment.object_id = object_comment_mark.object_id
UNION ALL
SELECT *, NULL, NULL, NULL, NULL FROM object_comment
于 2013-10-24T10:51:49.320 に答える