私はPHPの初心者ですが
、1つのクエリでCOUNT DISTINCTJOINとMultipleWHEREを作成するにはどうすればよいですか?jsonへの出力用
私は試した
<?php
require_once "../conn.php";
$query = "SELECT
COUNT(DISTINCT tbl_trx.idoutlet WHERE (tbl_trx.payone != 0)) as p1
COUNT(DISTINCT tbl_trx.idoutlet WHERE (tbl_trx.paytwo != 0)) as p2
COUNT(DISTINCT tbl_trx.idoutlet WHERE (tbl_trx.paythree != 0)) as p3
FROM tbl_outlet
INNER JOIN tbl_trx ON tbl_trx.idoutlet = tbl_outlet.id
WHERE id = $_GET[id]";
$sql = mysqli_query ($link,$query);
$ray = array();
while ($row = mysqli_fetch_array($sql)) {
array_push($ray, array(
"payone" => $row['p1'],
"paytwo" => $row['p2'],
"paythree" => $row['p3'],
));
}
echo json_encode($ray);
mysqli_close($link);
?>
しかし、動作しません助けてください
php var is sqlを避け、paramとcase forfilterを使用する必要があります
select count ( DISTINCT CASE WHEN tbl_trx.payone != 0 THEN tbl_trx.idoutlet ELSE NULL END) p1
, count ( DISTINCT CASE WHEN tbl_trx.paytwo != 0 THEN tbl_trx.idoutlet ELSE NULL END) p2
, count ( DISTINCT CASE WHEN tbl_trx.paythree != 0 THEN tbl_trx.idoutlet ELSE NULL END) p3
FROM tbl_outlet
INNER JOIN tbl_trx ON tbl_trx.idoutlet = tbl_outlet.id
WHERE id = :id
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加