ホームページ  >  に質問  >  本文

MariaDB:exist 句を使用した SQL 削除の問題

<p>この選択を MariaDB で実行したところ、期待どおりに機能しました。これは、<code>exists</code>: </p> を含む単なる選択でした。 <pre class="brush:php;toolbar:false;">select * from pred_loan_defaults d 存在する場所 (pred_loan_defaults d2 から 1 を選択) ここで、d.exec_id = d2.exec_id および d.loan_identifier = d2.loan_identifier および d2.default_status = 1 および d.prediction_date > d2.prediction_date) ローン識別子、予測日</pre>による順序 <p>ここで、選択した行を削除しようとしているので、ステートメントを変更しました: </p> <pre class="brush:php;toolbar:false;">pred_loan_defaults から削除 d 存在する場所 (pred_loan_defaults d2 から * を選択) ここで、d.exec_id = d2.exec_id および d.loan_identifier = d2.loan_identifier d2.default_status = 1 および d.prediction_date > d2.prediction_date);</pre> <p>しかし、エラーが発生します: </p> <ブロック引用> <p>SQL エラー [1064] [42000]: (conn=6) SQL にエラーがあります 構文。MariaDB サーバーのマニュアルを確認してください。 'd</p> 付近の正しい構文を使用したバージョン </blockquote> <p><code>delete</code> ステートメントのどこが間違っていますか? </p>
P粉811329034P粉811329034416日前410

全員に返信(1)返信します

  • P粉752812853

    P粉7528128532023-08-31 19:43:19

    単一のテーブルを削除する場合、テーブル名の後にエイリアスを使用することはできません。

    WHERE EXISTS の代わりに JOIN を使用する必要があります。

    リーリー

    返事
    0
  • キャンセル返事