2012-03-23 30 views
0

数据更新我有两个表:MSQL创建一个表,自动从其它表

表1 - 销售 ID,时间戳,票据,企业社会责任,日期,ExistingCustomer,PubCode,价钱,酒吧,过期,大小,邀请码,加售的CustName,CustAddress,CustCity,CustState,CustPostal,CustCountry,CustPhone,CustEmail,CustCardName,CustCardNumber,CustCardType,CustCardExpiry,CustCardCode

表2 - 退款 ID,时间戳,CSR,日期的OrderId,退款,保存,出版

基本上,我想创建一个选项卡le(MySQL)将有一些列在两个表之间相同,并将自动更新这两列的值。

即。表3 时间戳,CSR,日期,出版号

无论何时将新记录发布到其他两个表中的任何一个中,该表都会自动更新,因此它基本上是一个合并表。

因为没有什么可以加入这两个表格,我不认为JOIN函数可以在这里工作。无论如何,我可以做到这一点?

+0

不好主意,数据冗余... – 2012-03-23 12:44:08

+0

您可以创建一个视图。 http://stackoverflow.com/questions/1198124/combine-two-tables-that-have-no-common-fields – 2012-03-23 12:51:01

回答

0

您可以使用一个触发器,它在两个表上都插入时激活,使其自动更新。

至于没有公用表的组合表,查看this问题。

0

您需要使用存储过程和触发器在非合并表

0

还有的插入/更新一定是某种方式加入,而实际上你提到的时间戳,CSR,日期,出版。

你可以加入他们的视图。你可以添加表3,然后添加触发器,虽然这将是一个可怕的混乱。

为什么你想以这种方式进行denormalise?

如何表3是作为替代使用唯一密钥,并且4加入域,然后你把那些从表1和表2中,与表的键suurrogate键取代他们3

然后它是一个简单的连接查询和没有数据重复。