私はというテーブルを持っていますmap_tags
:
map_id | map_license | map_desc
widgets
そして、レコードにレコードへの外部キー参照(1から1)が含まれている別のテーブル( ) map_tags
:
widget_id | map_id | widget_name
すべてmap_license
のsが一意であるという制約がある場合(ただし、のキーとして設定されていないmap_tags
場合)、amap_license
とaがある場合は、同じSQLステートメント内のすべてwidget_name
に対して挿入を実行します。widgets
INSERT INTO
widgets w
(
map_id,
widget_name
)
VALUES (
(
SELECT
mt.map_id
FROM
map_tags mt
WHERE
// This should work and return a single record because map_license is unique
mt.map_license = '12345'
),
'Bupo'
)
私は正しい方向に進んでいると思いますが、これがPostgresのSQLとして正しくないことをすぐに知っています。誰かがそのような単一のクエリを達成するための適切な方法を知っていますか?