[英]How do I combine two SQL statements into one statement?
我有一條INSERT SQL語句,其中我插入表中的行的值之一是另一個SELECT SQL查詢的結果。 我想知道如何將這兩個語句合而為一。 謝謝。
SELECT語句:
SELECT mpca.creative_attribute_id
FROM media_property_creative_attribute as mpca
WHERE mpca.media_property_id=54
and mpca.media_property_creative_attribute_external_id=101;
該查詢的結果將是一個值,我將在下一個INSERT語句中將其表示為[creative_attribute_id]。
INSERT語句:
INSERT INTO ad_creative_attribute_list (ad_id, creative_attribute_id)
VALUES (12, [creative_attribute_id])
WHERE NOT EXISTS (
SELECT *
FROM ad_creative_attribute_list as acal
WHERE acal.ad_id=12
AND acal.creative_attribute_id=[creative_attribute_id])
可以合並為一個語句嗎?
更新
我已根據建議更新了查詢-希望它適合您的情況:
INSERT INTO
ad_creative_attribute_list (ad_id, creative_attribute_id)
SELECT
12, mpca.creative_attribute_id
FROM
media_property_creative_attribute as mpca
WHERE
mpca.media_property_id = 54
and mpca.media_property_creative_attribute_external_id = 101
AND NOT EXISTS (SELECT acal.creative_attribute_id
FROM ad_creative_attribute_list as acal
WHERE acal.ad_id = 12
AND mpca.creative_attribute_id = acal.creative_attribute_id);
您可以在選擇語法中使用插入
不存在將被關聯的子查詢
INSERT INTO ad_creative_attribute_list (ad_id, creative_attribute_id)
SELECT 12, mpca.creative_attribute_id
FROM media_property_creative_attribute as mpca
WHERE mpca.media_property_id=54
and mpca.media_property_creative_attribute_external_id=101
And NOT EXISTS (
SELECT 1
FROM ad_creative_attribute_list as acal
WHERE acal.ad_id=12
AND acal.creative_attribute_id= mpca.creative_attribute_id)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.