SELECT
GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') AS prodFilter
INTO
"outputstream"
FROM
"inputstream"
我正在尝试获取元数据属性值以过滤数据。使用上面定义的查询,我可以获取元数据属性,但是如何基于此过滤输入流呢?
“输入流”是一个物联网接口,可从许多设备中获取数据。此元数据属性是区别不同产品的原因。我应该在where子句中写什么?
我尝试使用WHERE prodfilter = 'product1
'`,但是没有用。
答案 0 :(得分:1)
如果您像这样使用prodFilter
:
SELECT
GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') AS prodFilter
INTO outputstream
FROM inputstream
WHERE prodFilter = 'product1'
,则尚未定义WHERE中的prodFilter
。
您应该使用原始表达式,例如:
SELECT
GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') AS prodFilter
INTO outputstream
FROM inputstream
WHERE
GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') = 'product1'
或者更好的是在不同的步骤进行过滤:
WITH step1 AS (
SELECT
GetMetadataPropertyValue("deviceinputstream", '[User].[productFilter]') AS prodFilter
FROM inputstream
)
SELECT *
INTO outputstream
FROM step1
WHERE prodFilter = 'product1'