SQL创建一个表,该表自动使用其他表中的数据进行更新

时间:2012-03-23 12:41:50

标签: mysql

我有两张桌子:

表1 - 销售额 id,Timestamp,Notes,CSR,Date,ExistingCustomer,PubCode,Price,Pub,Expiry,Size,KeyCode,UpSell,CustName,CustAddress,CustCity,CustState,CustPostal,CustCountry,CustPhone,CustEmail,CustCardName,CustCardNumber,CustCardType,CustCardExpiry, CustCardCode

表2 - 退款 ID,时间戳,CSR,日期的OrderId,退款,已保存,公开

基本上,我想创建一个表(MySQL),它将在两个表之间有一些相同的列,并且将使用这两列中的值自动更新。

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

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

因为没有什么可以连接这两个表,我认为JOIN函数不会在这里工作。无论如何我能做到吗?

3 个答案:

答案 0 :(得分:0)

您可以在两个表上使用激活插入的触发器使其自动更新。

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

答案 1 :(得分:0)

您需要在插入/更新非合并表

时使用存储过程和触发器

答案 2 :(得分:0)

必须有一些方法加入它,事实上你提到时间戳,CSR,日期,出版物。

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

为什么要以这种方式去反规范?

Table3是一个唯一的密钥,用作代理项和4个连接字段,然后从表1和表2中取出它们,并用表3中的suurrogate键替换它们。

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