有两个表 A 和 B 。
A有两列 account_id 和 ad_id 。 每个 account_i d有多个 ad_id 。
表B包含多个列,包括和ad_id。
我需要为 account_id = 100 获取所有 ad_id ,然后针对所有这些 ad_id 我需要从中删除数据表B
我需要有关SQL查询的帮助。
答案 0 :(得分:1)
选择使用加入
<input type="text" id="imageInputCurrent" value="PRD_62533.jpg,PRD_63335.jpg,PRD_48298.jpg,PRD_89675.jpg,PRD_30890.jpg"/>
<input type="button" class="removeImageInput" value="Remove" data-value="PRD_62533.jpg"/>
<input type="button" class="removeImageInput" value="Remove" data-value="PRD_63335.jpg"/>
<script>
$('.removeImageInput').on('click', function(){
var image_list = $("#imageInputCurrent").val();
var remove_image = $(this).attr('data-value');
var updated_image_list="";
if(image_list!=null){
updated_image_list=image_list.replace(remove_image+',','');
updated_image_list=updated_image_list.replace(','+remove_image,'');
updated_image_list=updated_image_list.replace(remove_image,'');
console.log(updated_image_list);
}
});
删除使用加入
SELECT * FROM tableA A
INNER JOIN tableB B
ON A.ad_id = B.ad_id
AND A.account_id=100
删除使用嵌套查询
DELETE FROM tableB B
INNER JOIN tableA A
ON A.ad_id = B.ad_id
AND A.account_id=100
答案 1 :(得分:1)
您可以尝试此查询
从B中删除aid_id in(从A中选择aid_id,其中account_id = 100)
这将删除子查询返回的aid_id的记录。
答案 2 :(得分:1)
这应该有效
delete b
from tableB b
join tableA a
on a.ad_id = b.ad_id
and a.account_id = 100