0
select product.id,product.name,product.itemcode,sum(product.amount)as total_amount
from product where product.account in
select G.account from  report_results G 
where     G.status='Y')
group by product.id,product.name,product.itemcode

上記をQUERY1と考える

操作を実行するために、QUERY1 を以下のように変更しました (proc_temp という新しいテーブルを使用しています)。

 (select product.id,product.name,product.itemcode,sum(product.amount)as total_amount
   from product where product.account in
   (select G.account from  report_results G 
   where     G.status='Y'))as Input,proc_temp
   where Input.id=proc_temp.id

上記のクエリは正しく形成されていません。クエリ 1 を新しいテーブル proc_temp と結合し、両方の id 列を比較したいと考えています。これを構文的に修正するのを手伝ってください。

4

2 に答える 2

1

SELECT句を追加する必要があります。あなたが何をしたいのかわからないので、このクエリを保証することはできませんが、次のようなものです。

select i.*
from (
    select product.id, product.name, product.itemcode, sum(product.amount) as total_amount
    from product
    where product.account in (
            select G.account
            from report_results G
            where G.status = 'Y'
            )
) i
inner join proc_temp t on i.id = t.id
于 2012-09-04T14:59:39.893 に答える
1

サブクエリを取り除き、内部結合を使用します。それに加えて、次のクエリは Input.id が G.account であることを前提としています

select p.id,p.name,p.itemcode,sum(p.amount)as total_amount
from product p
inner join report_results g on (p.account = g.account)
inner join proc_temp pt on (g.account = pt.id)
where g.status='Y'
group by product.id,product.name,product.itemcode
于 2012-09-04T15:05:06.850 に答える