之前我有一个类似的问题,更新外键取决于主表中的2个字段,how to update foreign key
在我的数据库中得到答案和测试后,我看到它没有解决我的问题,实际上我收到的答案假设每个Doc No,Sheet No,我有类似的Line no(带有前导空格或没有前导空格)但是在我的数据库中,我有不同的行号,每个Doc No,Sheet No(正如我在我的问题中编辑的那样)所以我修改了我的问题和样本数据如下所示获得新答案:
我有2张桌子;第一张表的设计如下:
表1 :
id_Doc_line_sheet (pk),Autonumber
DocNo (text)
lineNo (text)
Sheet No (text)
字段组合(DocNo,lineNo,Sheet No)是索引和唯一。
第二张表的设计如下:
表2 :
id_Doc_line_trans (pk), Autonumber
id_Doc_line_sheet (fk),Number
name
现在在table1中,对于field lineNo,我有带前导空格的记录,没有前导空格,如下所示:
id_Doc_line_sheet DocNo lineNo Sheet No
------------------------------------------------------------------
1001 doc-0001 line-0001 1
1002 doc-0001 line-0001 1
1003 doc-0001 line-0001 2
1004 doc-0001 line-0001 2
1005 doc-0002 line-0002 1
1006 doc-0002 line-0002 1
1007 doc-0001 line-0005 1
1008 doc-0001 line-0005 1
我希望用前导空格删除这些记录,但首先我想为每个唯一(DocNo,lineNo,Sheetno)更新(id_Doc_line_sheet)以更正一个(没有前导空格)。 我的意思是如果table2如下所示:
id_Doc_line_trans id_Doc_line_sheet name
---------------------------------------------------
1 1001 name01
2 1002 name02
3 1003 name03
4 1004 name04
5 1007 name07
6 1008 name08
我将(id_Doc_line_sheet)更新为以下内容:
id_Doc_line_trans id_Doc_line_sheet name
---------------------------------------------------
1 1001 name01
2 1001 name02
3 1003 name03
4 1003 name04
5 1007 name07
6 1007 name08
然后从第一个表中删除带有前导空格的记录。
请帮助我怎么做?