【问题标题】:SQL How to ask for a value multiply times in an Query [closed]SQL如何在查询中请求值乘以[关闭]
【发布时间】:2020-09-25 04:19:02
【问题描述】:

大家晚上好!

以下问题,我有三个表:

Create TABLE Suppliers (
SID integer,
sname varchar(50),
adress varchar(50),
PRIMARY KEY (SID)
)

Create TABLE Parts (
PID integer,
pname varchar(50),
color varchar(50),
PRIMARY KEY (PID)
)

Create TABLE Catalog (
SID integer,
PID Integer,
costreal integer,
PRIMARY KEY (PID,SID)
)

我需要回答的问题是:

“查找供应红色部分和绿色部分的供应商的 ID。”

希望你能帮帮我!

【问题讨论】:

    标签: mysql sql join group-by having-clause


    【解决方案1】:

    这听起来像是having 的聚合和过滤:

    select s.sid
    from suppliers s
    inner join catalog c on c.sid = s.sid
    inner join parts p on p.pid = c.pid
    where p.color in ('red', 'green')    -- either one or the other
    group by s.id
    having min(p.color) <> max(p.color)  -- both are present
    

    【讨论】:

    • 虽然解决方案可能是正确的,但我不同意回答明显违反 SO 的“询问政策”的问题的前提
    • 非常感谢!抱歉这个菜鸟问题:) 这是我的第一个问题,出了什么问题?
    猜你喜欢
    • 2021-11-01
    • 2021-08-27
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多