file.ini:-
Blockquote
TAB1: table1
TAB2: table2
KEYS:
col1: 'SKey'
NONKEYS:
col2: 'SCode'
col3: 'SName'
col4: 'SState
file_data.csv:-
Blockquote SKey,SCode,SName,SState,EDate,CFlag 123,ABC,Acme Supply Co,CA,01/01/00,N 124,ABC,Acme Supply Co,IL,22/12/04,N 125,ABC,Acme Supply Co,CA,01/01/00,N 126,ABC,Acme Supply Co,IL,22/12/04,N 127,ABC,Acme Supply Co,CA,01/01/00,N 128,ABC,Acme Supply Co,IL,22/12/04,N 129,ABC,Acme Supply Co,CA,01/01/00,N 130,ABC,Acme Supply Co,IL,22/12/04,N 131,ABC,Acme Supply Co,CA,01/01/00,N 132,ABC,Acme Supply Co,IL,22/12/04,N
BQ表:-
Blockquote SKey SCode SName SEmail SPhone SState EDate确认 123,ABC,Acme Supply Co,CA,01/01/00,N 问题:
要执行的两步作业。读取file_data.csv文件并插入到table2中。 file.ini文件将提供file_data.csv中存在多少列,哪些列为KEY或NONKEY。 进行表格查询,比较表1和表2中的SKey列并插入到表1中,其中表1中的SKey列=表2中的SKey列,表2中的其余列数据与表1中的不同。
唯一要注意的是,选择查询中使用的列数会根据ini文件,KEYS和NONKEYS列表项而有所不同。查询必须是动态的,并且必须容纳file.ini中存在的KEYS和NONKEYS。 每次新的file.ini和file_data.csv具有不同的列以及相应的KEYS和NONKEYS时。.
我正在尝试的逻辑是: 对于table2中的每一行,比较table1和2中的每个col,以及SKey匹配(相同)且其他数据不相同(col3 / 4/5等)的地方,即不同,然后将table2中的这些列插入到table1中。但是在构建所有动态文件时遇到了麻烦 查询。