如何在MYSQL中使用INNER / OUTER JOIN

时间:2011-11-04 15:41:29

标签: mysql sql

我有3个表,其中包含彼此相关的不同类型的数据。表格通过Excel电子表格填充。我有:

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)

我刚收到语法错误。

感谢您提前获得所有帮助

更新:

我得到了它的工作

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

有没有办法可以从其中一个表中排除描述并将其与另一个表保持一致?事实证明,描述不是从一个表到另一个表的完全匹配,因此它保持返回零结果。

因此,为了澄清表1中的描述,并在能够根据item_number加入字段时从表2中省略描述

1 个答案:

答案 0 :(得分:0)

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