【问题标题】:SQL query from multiple tables and fetching data从多个表进行 SQL 查询并获取数据
【发布时间】:2021-04-15 06:17:00
【问题描述】:

我有以下以架构形式表示的表格:

Customer (cid, cname, mobile, address, gender, email)

Orders (order_no, company_name, order_date, cid, item_id, quantity)

Items (item_id, item_name, unit_price)

E_company (company_name, address, mobile)

Shipping (sid, cid, company_name, order_no, ship_date)

问题是我不知道如何从多个表中搜索数据并在我的软件界面中表示它。虽然我可以表示它,但我无法从表中检索数据。所以,这里是我需要获取的数据。

  1. 我必须获取客户的详细信息以及该客户订购的商品。
  2. 名为“X”的客户的特定订单的发货详情
  3. 客户“X”在“此处随机日期”的总订单金额

谢谢

【问题讨论】:

  • 您可以通过“Join”使用多个表中的数据
  • 谢谢..但我不知道这个 JOIN 是如何工作的。也许同时处理软件和数据库对我来说非常困难..

标签: sql database oracle rdbms


【解决方案1】:

例如这两张桌子:

Customer (cid, cname, mobile, address, gender, email)

Orders (order_no, company_name, order_date, cid, item_id, quantity)

您可以编写这样的查询来“获取客户的详细信息以及该客户订购的商品

Select C.*, O.* from Customer C
Left join Orders O
On C.cid = O.cid

“名为‘X’的客户的特定订单的发货详情”

Select * from Shipping S
left join Customer C
on S.cid = C.cid
and C.cname = 'X'

“客户‘X’在‘随机日期’的总订单金额”

Select sum(quantity)
From Orders O
Left join Customer C
On O.cid = C.cid
Where O.order_date = 'random_date' and C.cname = 'X'

【讨论】:

  • @GoruChagol 我刚刚更新了答案。请检查!
  • 我有一个问题。 cid 和 cname 是不同的。这里,X 代表 cname。不是cid。请原谅我,如果我一开始不能让你理解的话。请帮忙。
  • @GoruChagol 哦,好吧,我的错 :)。所以基本上你需要在 Cid 上加入 Customer 表并使用 where cname = 'X' 进行查询条件。检查更新plz
  • @GoruChagol 希望它有效,然后你可以接受答案
猜你喜欢
  • 1970-01-01
  • 2020-11-29
  • 1970-01-01
  • 1970-01-01
  • 2015-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多