私は今ここにピンチしているようです...私は今、1つのselect文クエリで計算を行っています。問題は...いくつかのIDは別のテーブルには見つかりませんでしたが、私が宣言しているテーブルには、gndtndrがあります。別のテーブルに見つからないIDはgndsaleです。私がしたいのは、IDが見つからない場合です。gndsale ...私はそれを0または0.00の値として宣言し、列名をDECLAREDとして配置します。テーブル内にデータフィールドが見つからない場合は、0または0.00の値を返します。MySql
私は自分の頭にあるものを試しましたが、動作していません: これについてお手伝いできますか?
見せているエラーは次のとおりです。
以下SELECT g.ID , concat(emp.FIRSTNAME, ' ', emp.LASTNAME) Fullname,
(CASE
when (select DISTINCT ID from gndtndr where ID NOT IN (select
ID from gndsale)) then '0'
else
FORMAT(ROUND(SUM(s.AMOUNT), 2),0)
END) as DECLARED,
FORMAT(ROUND(SUM(G.amount), 2),0) as CALCULATED,
FORMAT(ROUND(SUM(G.amount), 2) - ROUND(SUM(S.AMOUNT),2),0) AS `CASH SHORT`
FROM gndtndr g JOIN emp ON emp.ID = g.ID JOIN gndsale s on
g.ID=S.ID JOIN adjtime a on a.ID = g.ID group by
ID
は、サンプルデータと私の予想結果
GNDSALE表である:サブクエリは複数行
はここに私のクエリの返します
GNDTNDR表
期待される結果
サンプルデータと期待される出力を与える – Utsav