【发布时间】:2016-04-05 19:18:11
【问题描述】:
我知道我的问题乍一看可能非常模糊且难以理解,而且我已经坐了 30 分钟来考虑一个合适的标题。但是我的数据库知识非常有限,所以我还很难正确地制定自己的公式。
这是我目前正在做的学校作业的一部分,以下是我想要实现的目标:
我想要完成的是,在计算机系统中选择数量最少的组件的数量(当前库存),以便我在要打印的数据集中能够准确说明每个组件的数量computer_system 商店能够销售的计算机系统,基于计算机系统所包含的任何组件的最低当前数量。
这是我目前正在使用的查询来完成它,但是每次我尝试修复时,我都会遇到数量不明确和其他错误的多个问题。我咨询了十几个班上的朋友,但都没有运气。
SELECT
computer_system.NAME,
cpu.name as cpu,
gpu.name as gpu,
board.name as mainboard,
pccase.name as pc_case,
ram.name as ram,
component.quantity as qty,
(cpu.price *1.3+ board.price*1.3 + pccase.price*1.3 + ram.price*1.3 + gpu.price*1.3) as computer_system_price
FROM computer_system, component
join component cpu on cpu.id = computer_system.cpu
join component gpu on gpu.id = computer_system.gpu
join component board on board.id = computer_system.mainboard
join component pccase on pccase.id = computer_system.pc_case
join component ram on ram.id = computer_system.ram
JOIN component qty ON qty.quantity = (SELECT MIN(component.quantity) FROM component WHERE component.id IN
(computer_system.pc_case,
computer_system.mainboard,
computer_system.cpu,
computer_system.gpu,
computer_system.ram))
【问题讨论】:
标签: postgresql select join