私はMySQLで3つのテーブルを持っています。一つのテーブルから他のテーブルへのMySQLデータ
表1:薬
フィールド:
med_id | med_name
1 | Panadol
2 | Tylenol
3 | Brufen
表2:トランザクション
フィールド:tr_id、tr_medicine、tr_city
は med_nameサンプルデータをmed_id
サンプルデータ:
tr_id | tr_medicine | tr_city
1 | Panadol | London
2 | Tylenol | Milan
3 | Brufen | New York
表3:要約
フィールド:SM_ID、sm_medicine
サンプルデータ:私は何をしたいか
sm_id | sm_medicine
1 | 1
2 | 2
3 | 3
は1クエリ(サブでは、クエリを使用することができます)、 'トランザクション'テーブルからデータを準備して 'サマリー'テーブルに挿入します。代わりに、薬名、薬IDを挿入する必要があります。医学IDは「薬品」テーブルから取り出すことができます。
INSERT INTO summary (sm_id, sm_medicine)
SELECT (SELECT MAX(sm_id)+1 FROM summary),
(SELECT med_id FROM medicines WHERE med_name = transactions.tr_medicnie)
FROM transactions;
まずあなたが要約で最大のIDを取得し、AUTO_INCREMENT
に設定されている場合1 (SELECT MAX(sm_id)+1 FROM summary)
で、これは必要ありません、それを増やす:
これまでにどのようなコードを試しましたか? – dat3450