0

我有两个不同的表,由 Load DATA 命令创建,我正在尝试运行以下代码:

select t.name as Name, sum(t.amount) as Total from 
(select t2.name, t1.vendorname, t1.amount  from bco_ifs_payment_data t1
join VendorName t2 on t1.vendorname like concat('%',t2.name,'%' )) as t 
group by t.name;

当我使用 INSERT INTO 命令将数据插入 VendorName 表时,代码有效并返回行,但是当我使用 LOAD DATA 命令在 VendorName 表中插入数据时,即使在表中插入了相同的数据,JOIN 也不会返回行

Vendor_Names CSV 只有一列。LOAD 数据查询如下:

create Table vendorname(name nvarchar(100));
LOAD DATA LOCAL INFILE 'F:\Payments\_Global Payment\\Data\\Data\\Vendor_Names.csv' 
INTO TABLE vendorname FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'; 
update vendorname SET name = UPPER(name);  

INSERT 查询如下:

 INSERT INTO vendorname VALUES ('DELOITTE');
 INSERT INTO vendorname VALUES ('CBRE');
4

2 回答 2

0

明白了,必须包含以下代码:

select t.name as Name, sum(t.amount) as Total from 
(select t2.name, t1.vendorname, t1.amount  from bco_ifs_payment_data t1
join vendorname t2 on t1.vendorname like concat('%',REPLACE(t2.name,'\r','') ,'%' )) as t 
group by t.name;
于 2016-02-12T18:48:27.777 回答
0

您可以发布两个查询吗,可能是csv中的值序列与插入查询的顺序不同

于 2016-02-12T17:30:39.827 回答