Mysql中的字段指向其他表字段

时间:2014-05-22 16:26:48

标签: mysql database

我有多个表,其中列出了地址。我需要能够快速访问所有表中的地址。我打算使用代码将地址放入仅包含地址(Addresses_table)的单独表中。问题是如果任何地址发生变化,我必须在Addresses_table中更改它。有没有办法在Address_table中添加一条指向任何其他表中信息的记录?

多个表具有不同的结构,并且Addresses_table必须附加额外的信息。我可以描述的最佳方式是如何在Excel中使用G:25来选择该单元格中的数据。

编辑:

因此,表结构在完成时看起来就像这样。

ID, UserID, Street, City, State, Zip, Status
1     25    124    city1  state1 zip1 1
2     25    235    city2  state2 zip2 1
3     34    546    city3  state3 zip3 1
4     34    235    city2  state2 zip2 1

但理想情况下我想做这样的事情:

ID   UserID    Street                      City                     State    Zip    Status
1      25      tableA->recordID->street   tableA->RecordID->City  etc...              1
2      25      tableB->recordID->street   tableB->RecordID->City  etc...              1
3      34      tableC->recordID->street   tableC->RecordID->City  etc...              1
4      34      tableB->recordID->street   tableB->RecordID->City  etc...              1

记录2和4将指向表b中的相同重新识别

1 个答案:

答案 0 :(得分:1)

创建一个view组合来自各种源表的地址将有所帮助。

CREATE OR REPLACE VIEW AllAddresses AS
  SELECT Address1, Address2, City, Zip
  FROM Table1

  UNION 

  -- Change the names and types of different table columns
  SELECT Address1, foo + bar, City, Zip
  FROM Table2

  UNION

  -- Join to fetch associated data
  SELECT SomeOtherField, null, t4.CityName
  FROM Table3 t3 
    INNER JOIN Table4 t4 
    ON t3.CityID = t4.CityID;

应用于视图的过滤器将应用于源表。