sql - 在 sql 中使用子查询。显示无输出
问题描述
我的任务是检索尚未发货的客户的姓名。下面是得到这个结果的表格↓↓↓</p>
CREATE TABLE employees
(
employee_id INT NOT NULL,
last_name VARCHAR(20) NOT NULL,
first_name VARCHAR(20) NOT NULL,
manager_id INT,
CONSTRAINT employees_pk PRIMARY KEY (employee_id),
CONSTRAINT emp_fk_mgr
FOREIGN KEY (manager_id) REFERENCES employees(employee_id)
);
CREATE TABLE orders
(
order_id INT NOT NULL,
customer_id INT NOT NULL,
order_date DATE NOT NULL,
shipped_date DATE,
employee_id INT,
CONSTRAINT orders_pk PRIMARY KEY (order_id),
CONSTRAINT orders_fk_customers
FOREIGN KEY (customer_id) REFERENCES customers (customer_id),
CONSTRAINT orders_fk_employees
FOREIGN KEY (employee_id) REFERENCES employees (employee_id)
);
CREATE TABLE order_details
(
order_id INT NOT NULL,
item_id INT NOT NULL,
order_qty INT NOT NULL,
CONSTRAINT order_details_pk PRIMARY KEY (order_id, item_id),
CONSTRAINT order_details_fk_orders
FOREIGN KEY (order_id) REFERENCES orders (order_id),
CONSTRAINT order_details_fk_items
FOREIGN KEY (item_id) REFERENCES items (item_id)
);
目前,我已经完成了以下查询,但它不断生成无输出。
SELECT c.customer_first_name
FROM order_details od
JOIN orders o ON od.order_id = o.order_id
JOIN customers c ON o.customer_id = c.customer_id
WHERE c.customer_id IN (SELECT shipped_date FROM orders WHERE shipped_date IS NULL);
有人可以帮我得到我需要的结果吗?
解决方案
据推测,您的客户不是约会对象,而您实际上打算:
WHERE c.customer_id IN (SELECT o.customer_id FROM orders o WHERE shipped_date IS NULL)
推荐阅读
- r - predictInterval 和 which 选项
- amazon-web-services - 如何从 AWS Config Advanced 查询中获取资源的唯一计数
- go - 创建返回接口的函数映射
- python - 尝试通过 Python 访问公共 FHIR (RESTFul) 端点时的 AuthenticationRequired 响应
- google-maps - 如何让谷歌地图在颤动中工作?
- droplet - WBCE cms 上的液滴
- python - 通过pssh从网络共享执行Python脚本到windows系统
- c# - IOEXCEP 进程无法访问该文件,因为它正被另一个使用 Streamwriter 的进程使用
- java - 组合多个 Mono
- > 合二为一
- python - 将分布参数传递给 seaborn 直方图