以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  SQL语句 筛选或删除表中多条件  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=196103)

--  作者:creastzh
--  发布时间:2025/3/28 17:26:00
--  SQL语句 筛选或删除表中多条件
有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 语句呢? 谢谢!
--  作者:有点蓝
--  发布时间:2025/3/28 17:29:00
--  
DataTables("B").sqldeletefor("WO+OP in (select WO+OP from {A})")
--  作者:creastzh
--  发布时间: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编辑过]

--  作者:有点蓝
--  发布时间:2025/4/1 8:45:00
--  
Date是日期列?要做下转换,转换为字符才能合并。使用的什么数据库?