我具有可以或可以不具有取决于是否就是已被销售的所有者的设备实体:检查存在
DEVICE
======
Id
OwnerId (null)
DeviceTypeId (not null)
Owner
=====
Id
Name
每种类型的设备都可以有不同的能力,而每个功能都可以映射到多个类型,所以我有一个联结表。
DeviceType
====
Id
ModelNum
Capability
==========
Id
CapabilityName
Type_Capability
===============
Id
DeviceTypeId
CapabilityId
我想编写一个查询,如果它存在,将返回该设备的所有者,以及设备是否有名为“超频”的能力。
我有以下几点:
SELECT device.Id, owner.Name, ??? as [hasOverclock]
FROM Device device
LEFT OUTER JOIN Owner owner on owner.Id = device.ownerId
INNER JOIN DeviceType deviceType on deviceType.Id = device.DeviceTypeId
INNER JOIN TypeCapability typeCapability on typeCapability.DeviceTypeId = deviceType.Id
INNER JOIN Capability capability on capability.Id = typeCapability.CapabilityId
WHERE device.Id = 100;
我不确定我如何面设备是否在我的投影超频。
请准备http://sqlfiddle.com样本数据和所需的输出。提供准确答案并避免猜测会容易得多。 – lad2025