特定の日付までの在庫履歴の利用可能なコンポーネントの数量とコストのデータを表示しています。以下のクエリを使用して正常に動作します。
SELECT s.part_id,
sum(s.updated_quantity),
p.item_code,
sum(
(SELECT (s.updated_quantity * cost)
FROM inventory
WHERE inventory.id=s.inv_id)) AS tcost
FROM status_history AS s,
inventory AS i,
part_master AS p
WHERE s.action='add'
AND DATE(s.date_created)<='2013-04-09'
AND i.currency_id=1
AND s.inv_id=i.id
AND s.part_id=p.id
GROUP BY s.part_id
また、コンマで区切られたコンポーネントの場所名を単一のフィールドに表示したいと考えています。私の欲求の結果を得るために、クエリの下で試しましたが、複数の場所名のカンマ区切りの文字列ではなく、1 つの場所名のみを返します。
SELECT s.part_id,
sum(s.updated_quantity),
p.item_code,
sum(
(SELECT (s.updated_quantity * cost)
FROM inventory
WHERE inventory.id=s.inv_id)) AS tcost,
CONCAT_WS(',',
(SELECT name
FROM location_master
WHERE id=i.location_id)) AS LOCATION
FROM status_history AS s,
inventory AS i,
part_master AS p
WHERE s.action='add'
AND DATE(s.date_created)<='2013-04-09'
AND i.currency_id=1
AND s.inv_id=i.id
AND s.part_id=p.id
GROUP BY s.part_id