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

別のテーブルの別の列から列の値を計算する

    これがMySQLでそれを行う方法です(あなたの質問は両方のmysqlでタグ付けされています およびsql-server

    CREATE TRIGGER tg_bi_order_contains_items 
    BEFORE INSERT ON Order_contains_items
    FOR EACH ROW
      SET NEW.Ordered_price = 
      (
        SELECT Unit_price * NEW.Quantity_ordered
          FROM Item
         WHERE Item_id = NEW.Item_id
         LIMIT 1
      );
    
    CREATE TRIGGER tg_bu_order_contains_items 
    BEFORE UPDATE ON Order_contains_items
    FOR EACH ROW
      SET NEW.Ordered_price = 
      (
        SELECT Unit_price * NEW.Quantity_ordered
          FROM Item
         WHERE Item_id = NEW.Item_id
         LIMIT 1
      );
    

    これがSQLFiddle です。 デモ




    1. 列数が異なる2つのテーブルを結合する

    2. 2つの関連するテーブル間で欠落している行を見つけるためのSQLクエリ

    3. MySQLの同じ(ランダム)レコードから2つの列を選択する最速の方法は何ですか?

    4. 型変換のためにインデックスが使用されていませんか?