2012-03-23 29 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

然後它是一個簡單的連接查詢和沒有數據重複。