列出一个表中的列,以及另一个表中的两列

时间:2014-06-05 04:35:10

标签: mysql sql sql-server database

我刚开始学习Sql,所以对我很轻松。我正在尝试列出每个玩具的商品描述,以及购买它们的客户名称,以及购买日期。

使用别名,我可以使用以下语句获取名称和date_of_purchase:

select tp.date_of_purchase, tp.name from table_a AS tp
left outer join table_b AS tt on tp.id = tt.id;

..但我无法弄清楚如何从table_a获取项目描述。我需要使用一个sql语句从tablea获取名称和date_of_purchase以及table_b中的item_description。我已经尝试了一切,但无法让它发挥作用。

以下是表格:

表-A:

第1列:id int(4)无符号
第2列:名称varchar(100)

第3栏:数量int(4)无符号
第4栏:date_of_purchase日期

50  John Miller         3      2013-03-16
25  Brad Cooper         1      2013-11-01
50  Alison Bradey       3      2013-11-01
50  Melissa Patterson   2      2014-02-25
75  Lisa Simpson        10     2015-08-15

表-B:

第1列:id int(4)无符号
第2列:item_description varchar(100)

第3栏:数量int(4)无符号
第4栏:价格小数(5,2)

15  Super Nintendo          3      100.00
25  Action Figure           1      15.00
50  Gameboy                 3      65.00
20  Nintendo 64             2      150.00

真的很感激任何帮助。

1 个答案:

答案 0 :(得分:1)

item_description位于tableb(又名tt),所以您需要做的就是将该字段(因为它在tableb中具有tt前缀)添加到选择列表中;

SELECT tp.date_of_purchase, tp.name, tt.item_description
FROM table_a AS tp
LEFT OUTER JOIN tableb AS tt 
  ON tp.id = tt.id;

An SQLfiddle to test with