使用sql从三个表中选择结果

使用sql从三个表中选择结果,sql,select,multiple-tables,Sql,Select,Multiple Tables,我想从三个表中得到一个结果。我不知道如何编写sql查询。请帮帮我 "I want to display Name,Username and Product_Name where Id=007" table "register" Name Username Id Arj arjun 007 xyz abcd 008 abcd asdf 007 table "products" Product_Id Product_Name Price 10

我想从三个表中得到一个结果。我不知道如何编写sql查询。请帮帮我

"I want to display Name,Username and Product_Name where Id=007"

table "register"

Name  Username  Id
Arj   arjun     007
xyz   abcd      008
abcd  asdf      007

table "products"

Product_Id   Product_Name   Price
101           Clothes        200
102           Games          100

table "purchase"     //products.Product_Id=purchase.Item

Username   item    Id
arjun      102     007
abcd       101     008
asdf       102     007
请尝试以下查询:

SELECT a.Name,a.Username,c.Product_Name
FROM  register as a
JOIN purchase as b on a.Username=b.Username
JOIN products as c on b.item=c.Product_Id
它应该是这样工作的。要阅读有关SQL联接的更多信息,请尝试:

享受吧


附带说明:您不应该将用户名也保存在购买表中。

应该是这样的

SELECT * FROM
register r
JOIN purchase p on p.username = r.username
JOIN products pr on pr.product_id = p.item

您可以修改此基本代码以包含特定列,并添加where和order子句。

如果您正在学习SQL,您应该真正展示您所做的尝试。这是一个相当基本的语句。查找内部联接和WHERE。如果你仍然有麻烦,回这里。用那些重复的ID和表上重复的名字,我甚至不确定你认为正确的结果。您是否可以将所需的结果添加到问题中?您还应该始终说明您的DBMS(Oracle、Postgres等),因为某些答案可能取决于特定的SQL方言。
SELECT * FROM
register r
JOIN purchase p on p.username = r.username
JOIN products pr on pr.product_id = p.item