我有2个单独的查询返回给我以下表格:
===========================
Id f_name l_name
===========================
15 Little Timmy
16 John Doe
17 Baby Jessica
---------------------------
===========================
Id item_name item_price
===========================
15 Camera 100
15 Computer 200
16 Pony 55
---------------------------
在MySQL中,我如何将2组合成这个:
===================================================
Id f_name l_name item_name item_price
===================================================
15 Little Timmy Camera 100
15 Little Timmy Computer 200
16 John Doe Pony 55
17 Baby Jessica
---------------------------------------------------
非常感谢任何帮助。感谢。
答案 0 :(得分:3)
选择
name_table.Id,
name_table.f_name,
name_table.l_name,
item_table.item_name,
item_table.item_price
从
name_table
左连接item_table
在name_table.Id = item_table.Id
享受!
答案 1 :(得分:3)
有许多类型的连接,这是数据库管理中一个非常有趣和重要的主题。 SO自己的Jeff Atwood有一个非常好的post描述了不同类型的连接和使用它们的情况。
答案 2 :(得分:2)
您需要使用左外join:
SELECT names.Id, names.f_name, names.l_name, prices.item_name, prices.item_price
FROM names
LEFT OUTER JOIN prices
ON names.Id = prices.Id
答案 3 :(得分:0)
如果您想在数据库中创建一个包含该结果的表,请在create table命令中执行以下任何选择/连接。
CREATE TABLE foobar SELECT ...
答案 4 :(得分:0)
如果要在应用程序中定期执行此select语句,可能需要考虑在数据库中创建视图。视图基本上是多个表中的数据组合。在这里使用视图的一个主要好处是在您的应用程序中进行更简单的查询,因此您只需从视图中选择所有字段,而不是在应用程序中进行连接。
您的CREATE VIEW语句看起来或多或少与Doug的答案相同,而您的选择将是
从my_view中选择ID,f_name,l_name,item_name,item_price;