this query is written for sale report...but when i tried to run on phpmyadmin it gives an error of "subquery return more than 1 row"..what will be the alternative or changings will be required?
<?php
if(isset($_POST['search_category'])){
$records ="SELECT DISTINCT category ,
(SELECT COUNT(products.name) FROM products where category_id=categories.id) AS total_products,
(
SELECT SUM(quantity) FROM productstock a
LEFT JOIN products b ON a.product_id=b.id
LEFT JOIN categories c ON b.category_id=c.id
where c.deleted=0
GROUP BY category_id
) AS available_stock,
SUM(product_qty*orignalCost) AS SaleWise_cost,
SUM(product_qty*saleprice) AS SaleWise_price,
SUM(product_qty*saleprice) AS total_sale ,
SUM((product_qty*saleprice)-(product_qty*orignalCost)) AS profit
FROM categories
INNER JOIN products ON categories.id = products.category_id
INNER JOIN sales ON sales.product_id = products.id
INNER JOIN productstock ON productstock.product_id = products.id
WHERE categories.deleted=0
GROUP BY category_id;";
while($data = mysqli_fetch_array($result))
{
?>
<tr>
<td><?php echo $data['category']; ?></td>
<td><?php echo $data['total_products']; ?></td>
<td><?php echo $data['available_stock']; ?></td>
<td><?php echo $data['SaleWise_cost']; ?></td>
<td><?php echo $data['SaleWise_price']; ?></td>
<td><?php echo $data['total_sale']; ?></td>
<td><?php echo $data['profit']; ?></td>
</tr>
<?php
}
}
?>
</table>