2

クエリで「union」と「into」の両方を使用する必要があります。これらの 2 つのバージョンは正常に動作します

SELECT x.* INTO 
 NewTABLE FROM
   (SELECT * FROM TABLE1 UNION SELECT * FROM TABLE2) x

または

SELECT x.* INTO 
 NewTABLE FROM
   (SELECT val1, val2 FROM TABLE1 UNION SELECT val1, val2 FROM TABLE2) x

しかし、私が必要なのはこのようなものです

SELECT x.* INTO 
 NewTABLE FROM
   (SELECT val1, sum(Iif(val2<0,0,val2)) as PositiveVal2 FROM TABLE1 
    UNION SELECT val1, sum(Iif(val2<0,0,val2)) as PositiveVal2 FROM TABLE2) x

合計および/または Iif が問題のようです。この問題をどのように解決すればよいでしょうか!?

4

1 に答える 1

1

ユニオン選択で GROUP BY を忘れました。

SELECT x.* INTO 
 NewTABLE FROM
   (SELECT val1, sum(Iif(val2<0,0,val2)) as PositiveVal2 
    FROM TABLE1 GROUP BY Val1
    UNION 
    SELECT val1, sum(Iif(val2<0,0,val2)) as PositiveVal2 
    FROM TABLE2 GROUP BY Val1) x

集計クエリでは、すべての選択フィールドを集計または GROUP BY する必要があります。

于 2012-08-30T11:41:08.327 に答える