SQL选择查询上述条件

时间:2018-04-11 12:14:07

标签: sql sql-server

有两个表 A B

A有两列 account_id ad_id 。 每个 account_i d有多个 ad_id

表B包含多个列,包括和ad_id。

我需要为 account_id = 100 获取所有 ad_id ,然后针对所有这些 ad_id 我需要从中删除数据表B

我需要有关SQL查询的帮助。

3 个答案:

答案 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