Foxtable(狐表)用户栏目专家坐堂 → SQL语句 筛选或删除表中多条件


  共有51人关注过本帖树形打印复制链接

主题:SQL语句 筛选或删除表中多条件

帅哥哟,离线,有人找我吗?
creastzh
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:335 积分:2466 威望:0 精华:0 注册:2023/1/11 7:15:00
SQL语句 筛选或删除表中多条件  发帖心情 Post By:2025/3/28 17:26:00 [只看该作者]

有2个表,A表包含PartNumber, OP, ResID, WO以及其它15列信息, B表包含同样包含此4列,但还有其它不同于A表的列, 现在需要删除B表中的行, 条件是B表中的WO,OP同时在A表出现, 我用DataTables("B").sql deletefor("WO in (selec t WO fr om {A}) and OP in (sel ect OP f rom {A})"), 这样的结果发现不正确, 所以我后来用了字典法进行删除, 先在A表中建立以 WOP=WO & OP 为Key的 d.add(WOP,dr1)字典, 然后在B表循环,如果B表中的 WOP(=WO & OP)存在于d字典中,则改行被删除, 这是有效的, 但这有点麻烦, 是否可以直接使用Sql 语句呢? 谢谢!

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113139 积分:576118 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/3/28 17:29:00 [只看该作者]

DataTables("B").sqldeletefor("WO+OP in (select WO+OP from {A})")

 回到顶部
帅哥哟,离线,有人找我吗?
creastzh
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:335 积分:2466 威望:0 精华:0 注册:2023/1/11 7:15:00
  发帖心情 Post By:2025/4/1 5:27:00 [只看该作者]

我尝试了几个不同的表,改用SqIseIect 筛选,这个结果始终是记录数为0
比如:
Dim dr1s As List(Of DataRow) = DataTables("EMAttendanceList").SQx(l) SeIect("Name+Date in (seIect Operator+Date from {AdditionalWorkList})")
Output.Show(space(8) & dr1s.count)
[此贴子已经被作者于2025/4/1 5:31:08编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113139 积分:576118 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/4/1 8:45:00 [只看该作者]

Date是日期列?要做下转换,转换为字符才能合并。使用的什么数据库?

 回到顶部