1

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

table1には自動インクリメント番号であるid列がありますtable2には同じですが「vt_」で始まり番号が続くid列があります

table2.idがtable1.idと一致しないtable2の行を削除する必要がありますが、2つの数値を比較する前に「vt_」を置き換える必要があるため、スタックしています。

「SELECTREPLACE(table2.id、'vts_'、'')AS table2_id」のように、SELECTで実行できることはわかっています。

私はそれを動作させることができません、私の最後の試みはこのようでした:

$sql = @mysql_query("DELETE 
                           voting
                        FROM 
                            voting
                        INNER JOIN vouchers
                        ON REPLACE(voting.item,'vts_','') = vouchers.id");
4

1 に答える 1

3

LEFT JOINここで使用

DELETE voting
FROM voting LEFT JOIN vouchers
      ON REPLACE(voting.item,'vts_','') = vouchers.id
WHERE  vouchers.id IS NULL
于 2013-01-15T09:09:55.667 に答える