0
こんにちは私は、用途が部門を選択して欲しい箇所を選択したいと考えています。WHERE
この部門が最初です。税務部門から10件の結果を選択し、 SUM
SELECT
料金WHERE status = 1
。どの結果が最初の選択に基づいて選択されますか?結果はすべて同じテーブルから得られます。MySQL選択済みの結果の第2の数を選択してください
| id | department | status | fee |
----------------------------------
| 1 | tax | 1 | 20 |
| 2 | tax | 2 | 20 |
| 3 | tax | 1 | 20 |
| 4 | accounting | 1 | 20 |
だから私は部門が税として選択された場合に選択したい、とステータスがあるべきFEE列の合計1である40
は、これまでのところ、私の選択クエリは次のようになります。
SELECT P.id, P.fee, (SELECT SUM(P.fee) FROM cases P WHERE status = 1) as fee_USD
FROM cases P WHERE 1";
if (!empty($department)) { $sql .= " AND P.department = '$department'"; }
部門が選択肢として指定されているかどうかを最後の行で確認しています。他にもオプションがありますが、シンプルにするために、この部分だけを貼り付けました。どんな助けも歓迎です。あなたがあなたのクエリに相関を追加する必要が現在の選択料に
さ= 80
この問題を解消するには、指定された$部がnullでない場合、最初にWHERE句をチェックインする方法があります。P2.department = P1.department –
@JohnSinigerはい通常、 '$ department is NULL OR department = $ department'のようなことをします。 –