2017-11-29 15 views
0

Azure Stream Analytics를 사용 중이고 쿼리 부분에 문제가 있습니다. 여기 내 코드가있다.Azure Stream Analytics 쿼리의 결과를 다시 사용하십시오.

WITH subquery as (
    SELECT 
    messageId, 
    deviceId, 
    temperature, 
    humidity, 
    EventProcessedUtcTime, 
    DemoML(temperature, humidity) as result1 
    from DemoInput 
    ) 

SELECT 
    messageId as messageId, 
    deviceId as deviceId, 
    temperature as temperature, 
    humidity as humidity, 
    EventProcessedUtcTime as EventProcessedUtcTime, 
    result1.[Scored Labels] as result, 
    result1.[Scored Probabilities] as resultProbability 
INTO 
    [DemoOutput] 
FROM 
    [subquery] 


SELECT 
    result1 
INTO 
    [c2d] 
FROM 
    [subquery] 

DemoML은 결과를 반환하는 함수입니다. result1을 두 개의 다른 출력에 넣으 려합니다. 그러나 나는 결과 1을 하나의 결과물로 만들었습니다. 어떻게하면 될까요? 나는 SQL에 완전히 익숙하지 않다.

답변

0

당신은 두 번 삽입 INSERT ... OUTPUT ... INTO ... SELECT을 사용할 수

WITH subquery as (
    SELECT 
    messageId, 
    deviceId, 
    temperature, 
    humidity, 
    EventProcessedUtcTime, 
    DemoML(temperature, humidity) as result1 
    from DemoInput 
    ) 
INSERT INTO target_1(col1,...) 
OUTPUT inserted.col1, ... 
INTO target_2(col1, ..) 
SELECT 
    messageId as messageId, 
    deviceId as deviceId, 
    temperature as temperature, 
    humidity as humidity, 
    EventProcessedUtcTime as EventProcessedUtcTime, 
    result1.[Scored Labels] as result, 
    result1.[Scored Probabilities] as resultProbability 
FROM [subquery]; 

가 단순화 :

CREATE TABLE t1(i INT); 
CREATE TABLE t2(i INT); 
CREATE TABLE src(i INT); 
INSERT INTO src(i) VALUES(10),(20); 

INSERT INTO t1(i)     -- target one 
OUTPUT inserted.i 
INTO t2(i)      -- target two 
SELECT i 
FROM src; 
이 경우

DBFiddle Demo

+0

, 나는 두 가지 목표에 동일한 데이터를 걸었습니다? – SamTew

+0

@SamTew 예, 데모 링크 만 확인하십시오.하지만 필요한 경우 열 목록을 조작 할 수 있습니다. – lad2025

+0

두 개의 다른 데이터 세트를 두 개의 테이블에 넣으려면 어떻게해야합니까? – SamTew