我有一个UltraGrid显示客户信息。数据库的设置方式有2个表。 Customers
和Customer_Addresses
。我需要能够显示Customers
以及来自Town
的{{1}}和Region
的所有列,但我的印象是我需要Customer_Addresses
表中的Town和Region列能够执行此操作吗?我之前从未使用Customer
因此我不确定这是否属实,所以有人可以指点如何做到这一点,或者我是否需要匹配的列?
它甚至需要INNER JOIN
,还是有其他方法可以做到这一点?
以下是两个表的设计视图 - 是否可以INNER JOIN
显示Add4
和Add5
所有Customer_Addresses
?
答案 0 :(得分:1)
只要您有另一个键列就可以用来链接表(例如ID_Column),最好使用LEFT JOIN。
示例:
SELECT c.col1, ... , c.colN, a.town, a.region FROM Customers c
LEFT JOIN Customer_Addresses a ON a.ID_Column = c.ID_Column
在我们的示例中,使用LEFT JOIN将从Customers表中获取所有信息,以及来自Customer_Addresses表的任何找到的匹配(在ID上)信息。
答案 1 :(得分:1)
首先,你需要在两个表中共同使用一些列,所有你需要做的就是:
CREATE TABLE all_things
AS
SELECT * (or columns that you want to have in the new table)
FROM Costumers AS a1
INNER JOIN Customer_Addresses AS a2 ON a1.column_in_common = a2.column_in_common
关键是你想要什么样的联接。
如果你可以继续这个过程而没有表Costumers或表Customer_Addresses中的信息,那么你可能需要OUTER JOIN或其他类型的JOIN。