使用sql从三个表中选择结果
我想从三个表中得到一个结果。我不知道如何编写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
"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