1

SQLite で左結合を行うときに問題が発生します。

テーブルの構造

contacts: id_c, first_name, last_name, photo_link
messages: id_msg, id_sender, id_recipient, utimestamp, message, chatID

次のようにクエリを実行しています。

SELECT * FROM messages m 
  LEFT OUTER JOIN contacts c ON (c.id_c=m.id_sender) 
  WHERE m.chatID=26

このクエリは、メッセージ テーブルから値を返します。
ただし、連絡先テーブルに対しては null を返します。

いくつかの方法を試しましたが、この問題を解決できません。これを解決するための提案はありますか?

4

2 に答える 2

1

問題は解決しました。おそらくバグがあったのでしょう。SQL Fiddle でテストすると、問題なく動作することがわかりました。ご清聴ありがとうございました。

于 2012-06-12T02:40:23.137 に答える
0

連絡先テーブルから列の null を返すことは、26にid_c一致する連絡先がない場合に、動作中の LEFT JOIN から期待されることとまったく同じです。テーブル?id_senderchatIDcontacts

于 2012-06-10T19:47:36.183 に答える