我具有可以或可以不具有取決於是否就是已被銷售的所有者的設備實體:檢查存在
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