MySqlを使用して、temp_commentsからコメントにデータを選択(および後で挿入)する必要があります。アカウント| |ここではそのための記録、APNと(temp_commentsからID#4コメントに選択及び挿入されるべき全てを除いて、この場合、例えば、いくつかのテストデータMySqlは、レコードを除外する単一の共通フィールドを持たない2つのテーブルを結合します。
comments table
id | apn | account | comment
--------------------------------
1 | 100 | | todays comment
2 | 101 | | yesterdays comment
3 | 109 | | todays comment
4 | 122 | | more comments
5 | | 34550 | todays comment
6 | | 12433 | another comment
temp_comments table
id | apn | account | comment
-----------------------------------------
1 | 92 | | todays comment
2 | 99 | | another comment
3 | 100 | | more comments
4 | 109 | | todays comment
5 | | 34588 | new comment
すべて一致コメント行コメント表に)。
私は挿入を試みる前に、作業select文を取得してみました:
select apn, account, comment
from temp_comments
where not exists(select apn, account, comment
from temp_comments
except
select apn, account, comment
from comments)
MySQLで動作しませんEXCEPTので、これはエラーをポップ。 3つのフィールドすべてが、それを除外したい私のために一致する必要があるので、代わりに結合を使用する方法はわかりません。他のテーブルで一致していない1つの表のすべての行を検索しLEFT JOIN
を使用し
INSERT into comments
apn, account, comments
SELECT (and put my working SELECT statement HERE)
これは実際には私のコメントではなく、temp_commentsの結果を得ています。私の編集に注意してください - 私は3つのフィールドすべてでCONCATを使用してデータを取り出す方法を見つけました。 – pokerPro
申し訳ありません、私はちょうどそれらを後方に持っています。 – Barmar
解決策を質問に編集するのではなく、回答として投稿する必要があります。 – Barmar