2016-08-16 5 views
1

私はUltraGridに顧客情報を表示しています。データベースの設定方法には、2つのテーブルがあります。 CustomersおよびCustomer_AddressesCustomersTownRegionからCustomer_Addressesまでのすべての列を表示できるようにする必要がありますが、これを行うにはCustomerテーブルにTownとRegionの列が必要な印象がありますか?私はINNER JOINを使用したことがないので、これが本当かどうかわからないので、誰かが私にこの方法を教えてもらえますか?リンクされていないSQL INNER JOIN

さらにINNER JOINが必要ですか、これを行う別の方法がありますか?以下は

はテーブルの両方の設計図である - それはCustomersのすべてにCustomer_AddressesからAdd4Add5を表示することは可能ですか?

enter image description here

+0

あなたは質問を精緻化し、サンプルの入出力を共有できますか? – Teja

+1

おそらく、CustomerおよびCustomer_Addressのテーブルスキーマを投稿できます。おそらくAddressIdまたはCustomerIdが2つのテーブルを結合して内部結合で使用するため、テーブルを一緒に照会することができます。私は町と地域のお客様のコメントを理解しているかどうか分かりませんが、それは間違った印象のようです。 – Matt

+1

以前は内部結合を一度も使用していないと、あなたのSQL知識は非常に低いです。いくつかの基本を学ぶことは、時間と労力の良い投資です。私はこの本について、10分でSQLを教えてくれることをよく聞いてきました。 –

答えて

1

は、限り、あなたは別のキー列を持っているとして、あなたは、テーブルをリンクするために使用することができます(例を。たid_column)、あなたがLEFT JOINを使用することをお勧めします。

例:

この絵を見て、種類が動作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 

:お客様からすべて情報を取る左結合を使用して、我々の場合には enter image description here

テーブルと一致して、と一致し、(on ID)の情報がCustomer_Addressesテーブルから取得されました。

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 

ポイントは一種の参加したい何をすべきかです:すべての

+0

これを正しく理解すれば、SELECT(c.all columns)、{a.Town]、[a.Region] FROM [Customers] c LEFT JOIN [ Customer_Addresses] a a.Cust_Code = c.Customer_Code'? –

+0

@joeそれは完璧に( '{' typo)なしで)見えます。 'Cust_Code'と' Customer_Code'がテーブル内で等しくユニークである限り、 – Matthew

+0

ありがとう、これは完全に解決しました! Life saver –

1

まず、あなたは何をすべきか、すべては、2つの表に共通するいくつかの列を必要としています。

テーブルCostumersまたはテーブルCustomer_Addressesに情報を持たずにプロセスを続行できる場合は、OUTER JOINまたは他の種類のJOINが必要な可能性があります。

+0

このコードで試したところ、 "CREATE TABLEクエリのエラー"というエラーが表示されました。 'sql =" CREATE TABLE Customer_List AS SELECT {Customers.Customer_Code}、{Customers。{Customer.Telephone}、{Customers.Telephone}、{Customers.Email}、{Customers.salesRep}から顧客からa1 LEFT JOIN Customer_Addresses AS a2 On a1.Customer_Code = a2.Cust_Code " –