2011-11-04 71 views
0

我有3個表格,其中包含彼此相關的不同類型的數據。這些表格通過Excel電子表格填充。我有:如何在MYSQL中使用INNER/OUTER JOIN

table1   table2   table3 
item_number  item_number  item_number 
desc    desc   qty_sold 
qty_instock  vdf_cost  upc 
cost    status 

我試圖做的是使用連接函數來顯示所有的數據,因爲它們之間的相互關係,但問題是,當我運行

SELECT * 
FROM table1 a 
INNER JOIN table2 b 
ON a.someColumn = b.otherColumn 
INNER JOIN table3 c 
ON b.anotherColumn = c.nextColumn 

它只是側放桌側,如果我跑

SELECT * 
FROM table1 a 
INNER JOIN table2 b 
USING(item_number) 

它的工作原理,但只有加入項目數(我不知道如何使用多個領域,如描述,重複),以及由於某種原因,我只能使用這兩個表■當我嘗試添加第三個表(最有可能被完全錯誤的完成)

SELECT * 
FROM table1 a 
INNER JOIN table2 b 
INNER JOIN table3 c 
USING(item_number) 

我只是得到一個語法錯誤。

感謝所有幫助提前

UPDATE:

我得到它的工作

SELECT * 
FROM master_list a 
INNER JOIN bby_report ab USING (item_number, description) 
INNER JOIN sales_report b USING (item_number) 

有沒有一種方法可以讓我從一個表中排除的說明,並保持它從另一個?原來,描述不是從一張表到另一張表的精確匹配,因此它一直返回零結果。

所以,從表1澄清保持描述和從表2離開了描述,而基於ITEM_NUMBER

+0

能夠加入域,我不能完全確定你想要做什麼。爲什麼你的表格與item_number相關?也許你想GROUP BY另一個領域。我可以寫一個連接多個字段的查詢,但我不確定它會給你預期的結果。你試圖涉及哪些領域? – Cfreak

+0

基本上我想要一個綜合表,它將來自所有不同表格的數據顯示在一個表格中。 ITEM_NUMBER以及每個表的描述重複,所以這是一個有點惱人重讀同一線時,它應該只是顯示每件 – Fahad

+0

項目編號說明數量成本等我把它歸功於 SELECT * FROM master_list一個 INNER JOIN bby_report AB使用(item_number,說明) INNER JOIN sales_report b使用(item_number) 有沒有辦法讓我從一個表中排除描述並將它從另一個表中排除?原來,描述不是從一個表到另一個表的完全匹配,所以它始終返回零結果 – Fahad

回答

0
SELECT * 
FROM master_list a 
INNER JOIN bby_report ab USING (item_number, description) 
INNER JOIN sales_report b USING (item_number)