问题描述
我将首先介绍我的业务逻辑。
我有一个名为机器的实体。我将为每台机器分配最多 50 个选项。在此查询中,我使用了 PIVOT,因此每台机器只能检索一行,所有选项(列) 的值为 0 或 1。
注意:我的输出结构已准备好接受 50 个选项。
-
SQL 查询 - 目标 1:检索每台机器有哪些选项 活性。 - 完成
-
SQL 查询 - 目标 2:过滤具有 X 和 Y 选项的机器 活性。 -
我的实体图:
我的查询:
SELECT MachineID,MachineSN,@StringIn
FROM (
SELECT {Machine}.[Id] as MachineID,{Options}.[Name] as OptionName,{MachineOption}.[OptionActive] as IsActive,{Machine}.[SNumber] as MachineSN
FROM {MachineOption}
INNER JOIN {Options} ON {Options}.[Id] = {MachineOption}.[OptionId]
INNER JOIN {Machine} ON {Machine}.[Id] = {MachineOption}.[MachineId]
GROUP BY {Options}.[Name],{MachineOption}.[OptionActive],{Machine}.[SNumber],{Machine}.[Id]
) R
Pivot (max(IsActive) for OptionName in (@StringIn)) as Columns Order By 1
实际查询的结果:
我需要有关此查询的帮助。我已经尝试在内部查询中进行过滤,但我总是得到一个只有一个选项。
提前致谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)