sql - 如何在嵌套查询中重用联合表?
问题描述
我有一个查询要求我在 3 种产品中找到最高价格。
不使用任何最大或顶部功能。
我得到 3 个单独的产品表,其中包含 ID 和价格以及其他(不完全相同)属性。我的想法是将 3 (SELECT id, price) 表联合在一起,然后选择价格> ALL 的一条记录。
SELECT tb1.model
FROM (
SELECT model, price FROM pc
UNION
SELECT model, price FROM laptop
UNION
SELECT model, price FROM printer) tb1
WHERE tb1.price>= ALL(
SELECT price FROM(
SELECT model, price FROM pc
UNION
SELECT model, price FROM laptop
UNION
SELECT model, price FROM printer
)
);
我想知道有没有办法不在嵌套查询中重复 UNION 部分?像现在一样,我不能在内部查询中使用 tb1 。
解决方案
推荐阅读
- python - 如何从 python 中的 datetime 获取时间 2020-07-25 | 03:01
- python - 在 Python 中恰好 k 个 HEADS 的 n 次投掷中 HEADS 和 TAILS 的排列列表
- sql - 从 SQL Server 的表中选择第三高的值
- python-3.x - elasticsearch 多索引批量导入
- sed - 识别和替换给定文本文件中的选择性空间
- sql - SQL Server SMO - 在 RHEL 7.7 上安装和配置
- r - 从列表的所有 xts 对象的所有列中减去一个公共 xts 对象
- android - 应用崩溃时Android会创建新进程吗?
- javascript - 将变量分配为具有相同名称的函数参数
- asp.net-core - 将数据库上下文注入自定义属性 .NET Core