是否删除sql(access)中与依赖数据相关的查询?

ruoxqz4g  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(317)

我知道这是一个非常基本的问题,但我无法完成。刚刚开始学习更多关于数据库的知识。我有两张table:特布尔弗劳恩斯和特布尔特旅行日。
tblfoodalowance由id、tripid、dateday和costs组成。tbltravelday保存了我出差时的所有日子:id,dateday。
我正在寻找sql中的delete查询,以便在ms access中使用它:delete all from tblfoodallowance,其中tripid是xy(例如1),tblfoodalowance.dateday不在tbltraveldates列表中。我怎样才能做到这一点?
我尝试了多种方法,但不是语法错误就是结果错误。谢谢你的帮助。
我猜是这样的:

DELETE * FROM tblFoodAllowance WHERE tblFoodAllowance.tripID = [tripID] and ()
pu82cl6c

pu82cl6c1#

你可以用 delete :

delete from tblFoodAllowance
    where tripID = @xy and
          not exists (select 1
                      from tblTravelDates
                      where tblTravelDates.tripId = tblFoodAllowance.tripId and
                            tblTravelDates.dateDay = tblFoodAllowance.dateDay
                     );
shyt4zoc

shyt4zoc2#

考虑使用 not exists 以及相关子查询。目前还不清楚到底是哪根柱子把这两张table连接起来,但想法是:

delete from tblFoodAllowance 
where 
    tripID = 1
    and not exists (
        select 1
        from tblTravelDay
        where tblTravelDay.dateDay = tblFoodAllowance.dateDay
    )

相关问题