我需要在两个不同的字段上连接两个表。我有表1所示:SQLite加入两个重复键的表
key productid customer
1 100 jhon
2 109 paul
3 100 john
和表2中具有相同的字段,但aditional的数据我必须与第一台
key productid customer status date ...
1 109 phil ok 04/01
2 109 paul nok 04/03
3 100 jhon nok 04/06
4 100 jhon ok 04/06
两个“关键”字段是自动增量。问题在于我的关系字段在结果中重复了几次,我需要生成一对一的关系,以这种方式,表2中的一行必须与表1上的一行仅关联一次。
我做了一个左连接(customer = customer和productid = productid),但关系重复出现,平板电脑2中的一行与表1的多行相关。
要澄清的东西...
我要交叉检查两个表,表1是从XLS报告加载,表2是反映客户的交易有许多状态数据的数据库数据。我必须检查数据库中是否存在来自XLS的行,然后加载其他状态数据。当来自XLS的行在数据库中没有对应数据时,我必须生成报告。
如何才能完成这个JOIN,这是可能的只有SQL?
假设你想利用两行(键= 3,关键= 4)中的一个从表2与主要= 1 table1的记录:其中你会选择?为什么? – Marco 2012-04-21 16:46:35
任何一个都可以,条件是(productid = productid和customer = customer),但是是一对一的。例如,在我的示例中,table2-key3可能与tablet1-key1和key3相关,但我的要求是只涉及一次,因此可以是key1或key4,但只能使用一次。 – ruhalde 2012-04-21 16:56:26
@ Marco的问题很重要。而且,由于table1与表2具有相同的信息(这可能是错误的模式设计),您为什么关心table1呢? – 2012-04-21 16:56:30