構造の異なる2つのテーブル、sayproperty_bid
と。がありsc_property_queries
ます。
sc_property_queries
property_bid
別のテーブルと同様に値を保持します。そしてquery_method
、行がどのテーブルから来たかを示す宛先テーブルで呼び出されるフィールドがあります。このフィールドraw_id
は、ソーステーブルからのIDを保持します。私がやりたいのは、property_bid
テーブルから選択してに挿入することですが、新しいアイテムのみを使用します。つまり、とsc_property_queries
に基づく重複を回避します。以下は、動作していないように見える私のMySQLコードですraw_id
query_method
INSERT INTO sc_property_queries (
`property_id`,
`raw_id`, `query_method`,
`contact_fullname`,
`contact_address`,
`contact_email`,
`contact_phone`,
`contact_date`,
`entry_date`,
`title`,
`query_status`,
`remarks`,
`description`
)
SELECT
t1.property_id,
t1.id,
'web-bids',
t1.fullname,
'n/a',
t1.email,
t1.phone,
t1.on_date,
NOW(),
'n/a',
'1',
'n/a',
t1.comment
FROM
property_bid t1
LEFT JOIN sc_property_queries t2
ON (t1.id = t2.raw_id)
WHERE t2.query_method='web-bids' AND t2.raw_id IS NULL;
property_bid
このクエリは、sc_property_queriesに存在しないすべての行を返す必要があります。しかし、それは何もしていません。誰かがこれに光を当てることができますか?