
実現したいこと
素人質問にてすいません。
SQL Serverにて下記のような場合のSQL構文を教えてください。
前提
下記2つのTBLが存在する状態で、ITEM_HISTORYテーブルのうち、色が「黒」のレコードだけをITEMテーブルに追加したいです。
ITEMテーブル
| ID | 商品名 | 価格 | 色 |
|---|---|---|---|
| 1 | 鉛筆 | 100 | 赤 |
| 2 | はさみ | 200 | 赤 |
| 3 | 糸 | 300 | 青 |
ITEM_HISTORYテーブル
| 商品名 | 価格 | 色 |
|---|---|---|
| のり | 100 | 黒 |
| カッター | 200 | 黒 |
| ペン | 300 | 白 |
| ホチキス | 400 | 白 |
試したこと
下記SQLを実行すると、「サブクエリは複数の値を返しました。~」とエラーが出てしまいます。(SELECTの結果が複数出てしまうため)
どのようなSQLだとよろしいでしょうか。
INSERT INTO ITEM
SELECT NEWID(),商品名,価格,色 FROM ITEM_HISTORY
WHERE 色='黒'

0 コメント