首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用重复值的联接上的UPDATE表仅返回第一个值

使用重复值的联接上的UPDATE表仅返回第一个值
EN

Stack Overflow用户
提问于 2013-08-09 14:07:16
回答 2查看 142关注 0票数 1

当我试图将值从一个表导入到另一个表时,并不能得到所有的结果。示例,请参阅下面的代码,其中我要求:

代码语言:javascript
复制
JOIN transaction ON transaction.invoice = invoicing.invoice

有时,我有2或3张发票号码相同的发票和更新只发生在第一个发票号码,跳过其他与相同的发票号码。

我需要所有发票,包括复制件。

代码语言:javascript
复制
UPDATE invoicing
JOIN transaction ON transaction.invoice = invoicing.invoice
SET invoicing.raison = transaction.transaction, invoicing.description = 
transaction.description, invoicing.voyage_passenger = transaction.voyage_passenger

我遗漏了什么?

编辑:

表交易:

代码语言:javascript
复制
|num    |date           |invoice    |type   |transaction    |amount   |description  
|886051 |1375381803     |859532     |A      |carte          |7.00     |bla bla desc1
|886052 |1375381809     |859532     |P      |repro          |0.00     |bla bla desc2

表输入-有大约8列以上的表没有注意到下面。再次,我只是需要从上面的第二行的信息,也包括在下表中的新行。我现在还意识到,插入这些重复的行需要插入,而不是更新。

代码语言:javascript
复制
|num    |date           |invoice    |type   |raison |amount   |description   |clientID
|951100 |1375381803     |859532     |A      |carte  |7.00     |bla bla desc1 |121212
|951101 |1375401111     |859533     |A      |carte  |7.00     |bla different |222444

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2013-08-09 15:13:32

不知道如何处理ClientId。根据您的样本数据,发票可能在不同的日期,所以我不确定不同日期发票的ClientId是否相同。

代码语言:javascript
复制
insert into invoicing (`num`, `date`, `invoice`, `type`, 
                       `raison`, `amount`, `description`)
select `num`, `date`, `invoice`, `type`, `transaction`, `amount`, `description`
from Transaction t
where not exists
( select `num` from invoicing i
  where 
       i.`num`=t.`num`
   and i.`date`=t.`date`
   and i.`invoice`=t.`invoice`
   and i.`type`=t.`type` 
   and i.`raison`=t.`transaction` 
   and i.`amount`=t.`amount`  
   and i.`description`=t.`description`  

 )

SQLFiddle演示

票数 1
EN

Stack Overflow用户

发布于 2013-08-09 15:17:43

连接中的第一个表中的发票号可能不存在于第二个table.Why中,而不是左联接中?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18148605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档