sql >> データベース >  >> RDS >> Sqlserver

SQL で負の値を処理する

    あなたは多くの答えを得ていないようです - それで、あなたが正しい「純粋なSQLでそれを行う方法」を得られない場合は、ここに何かがあります. SQL っぽいものがある場合は、この解決策を無視してください。それは防御的なコーディングであり、エレガントではありません。

    重複レコードを削除する同じ季節のすべてのデータの合計を取得する場合は、外部に取得し、foreach ループを実行し、同じ季節の値ですべてのデータを合計し、正しい値でテーブルを更新し、不要なエントリを削除します。これを行う方法の 1 つを次に示します (疑似コード):

    productsArray = SELECT * FROM products
    processed = array (associative)
    foreach product in productsArray:
      if product[season] not in processed:
        processed[season] = product[quantity]
        UPDATE products SET quantity = processed[season] WHERE id = product[id]
      else:
        processed[season] = processed[season] + product[quantity]
        DELETE FROM products WHERE id = product[id]
      

    1. MySQLでテーブルを削除するSQLクエリ

    2. MySQL:新しい行の作成日を設定するためのトリガーを作成する方法

    3. 配列のPostgresUNIQUECONSTRAINT

    4. 2つの異なるwhere句を持つ2つのデータセットを返す必要があります