【发布时间】:2020-01-03 17:50:17
【问题描述】:
我有一些跟踪数据,由于“事件”之间的一些数据发生变化,我将其作为 JSON 存储在 SQL Server 的列中。
我有这个
{"items":[{"ids":[51130]}
现在这有项目 ID。我现在想获取“项目”的信息,但我不确定如何执行此操作,因为我需要一些连接。
如果我用常规连接来做这个,我会得到这样的东西
SELECT *
FROM Brands INNER JOIN
Items ON Brands.Id = Items.BrandId
Events ON Events.ItemId = Items.Id
where Items.Id in (51130)
样本数据
Brands
1 Apple
2 Samsung
Items
id name description brandId
51130 Galaxy 10 "Smartphone" 2
Event
id Details
1 {"items":[{"ids":[51130]}]
【问题讨论】:
-
允许任何布尔表达式。您需要提取要比较的字段。
-
json 位于事件表中(在名为 details 的列中)。 Brands 和 Items 是“item”信息所在的地方,因此“id”是 Items 的主键。
-
我添加了一些示例数据。
标签: sql json sql-server sql-server-2017