You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何关联Oracle多表查询指定EmployeeID对应的运货商及商品信息

解决方案

你需要将四张表通过关联字段依次内连,补充EmployeeID筛选条件即可得到目标结果,参考语句如下:

SELECT
    Shippers.ShipperName,
    OrderDetails.ProductID,
    Products.ProductName
FROM Orders
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID
INNER JOIN OrderDetails ON Orders.OrderID = OrderDetails.OrderID
INNER JOIN Products ON OrderDetails.ProductID = Products.ProductID
WHERE Orders.EmployeeID = 你要查询的指定员工ID -- 例如查询EmployeeID为5就写5

如果需要去重,可在SELECT后添加DISTINCT关键字。

错误原因说明

  1. 第一次查询缺少与Products表的关联,也未加EmployeeID筛选条件,无法拿到ProductName字段,也不能过滤指定员工的数据
  2. 第二次查询未关联Shippers和Products表,无法获取ShipperName和ProductName字段
  3. UNION用于纵向合并多个查询的结果集,要求所有查询返回的列数、数据类型一致,你的需求是横向拼接不同表的字段,应使用JOIN关联而非UNION

内容的提问来源于stack exchange,提问作者JAUGRY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 12:57:01