選択した日付と選択したカテゴリを使用して、テーブルからデータを取得するクエリを作成する必要があります。私はクエリを書いたが、期待どおりに正しいデータを与えていない。 action
列の値が'AD'
の場合は、最大値がactiondate
の行のみを照会する必要があります。最大値と特定の値を持つMySQLの行
INSERT INTO goldstockvaluation SELECT sh.stockid, sh.description, sh.branch, sh.grossweight, sh.pureweight, sh.purity, sh.goldcarat, sh.mcpergram, sh.goldpergram, sh.fixgold, CURDATE()
FROM stock_history sh
JOIN (
SELECT stockid, branch,ACTION , MAX(actiondate) AS MaxDateTime
FROM stock_history
GROUP BY stockid,branch,ACTION
)groupedsh ON sh.stockid = groupedsh.stockid
AND sh.actiondate = groupedsh.MaxDateTime
AND sh.branch = groupedsh.branch
AND sh.action = groupedsh.action
AND sh.branch = '8'
AND sh.categoryid = 'G'
AND sh.action = 'AD'
AND sh.actiondate <= '2016-03-28 23:59:59'
これは'AD'
としてaction
を持っているとmax(actiondate)
を持つ行を照会することです。 max(action_date)
でクエリに
主キーとは何ですか? 'SHOW CREATE TABLE stock_history'を使って結果を投稿してください。 –