1
SELECT tblorder.fld_userid
FROM `tblordereditems`
inner JOIN tblorder ON tblorder.fld_id = tblordereditems.fld_order_id
where (SELECT sum( tblordereditems.fld_product_quantity )FROM tblordereditems inner JOIN tblorder ON tblorder.fld_id =tblordereditems.fld_order_id GROUP BY tblorder.fld_userid)>5  

これは私のクエリですが、エラーがスローされます。どんな体も助けてくれますか?ありがとう

ここには3つのテーブルがあります。

  1. tbluser
  2. tblorder
  3. tblordereditems

tbluserのフィールドfld_idは、fld_useridとしてのtblorderへの外部キーです。
tblorderのfld_idは、fld_order_idとしてtblordereditemsの外部キーであり、5つ以上の数量の製品を注文した結果fld_useridを取得しました。それらをtblorder.fld_useridでグループ化したfld_product_quantityの合計

4

1 に答える 1

1

すべてのユーザーの数を要求しているため、複数の行が返されます。

試す:

Select tb1.fld_userid
FROM `tblordereditems` tbi1
inner JOIN tblorder tb1 ON tb1.fld_id = tbi1.fld_order_id
where (
        SELECT sum( tbi2.fld_product_quantity ) 
        FROM tblordereditems tbi2 inner JOIN tblorder tb2 ON tb2.fld_id =tbi2 .fld_order_id 
         where tb2.fld_userid = tb1.fld_userid
)>5
于 2012-06-26T08:48:20.173 に答える