データベースのフィールド値を加算して出力したいです。
解決したいこと
SQL Serverに以下のサンプルようにデータが入っています。
code-kazu-basyo
01---1----A
01---2----B
01---3----C
02---4----A
02---5----B
02---6----C
03---7----A
03---8----B
03---9----C
これをbasyoのAとBの合計数をcodeごとにまとめたいです。
01→3
02→9
03→15
該当するソースコード
$server = "XXX";
$database = "XXX";
$user = "XXX";
$password = "XXX";
$conn = odbc_connect("Driver=SQL Server;Server=$server;Database=$database;", $user, $password);
$sql = "SELECT kazu from hokan where basyo in ('A','B') AND code in (
'01',
'02',
'03'
)";
$sql_rst = odbc_exec($conn, $sql);
while (odbc_fetch_row($sql_rst)) {//以降はテーブルに表示させる処理です。
上記では、
01→1
02→4
03→7
01→2
02→5
03→8
の状況ですので、以下の試みになります。
自分で試したこと
分からないなりにいろいろと書いてみましたが、やはり勉強不足でした。
$sql = "SELECT kazu from hokan GROUP BY code having code in ('01','02','03')";
$sql = "SELECT kazu from hokan GROUP BY code having in ('01','02','03')";
$sql = "SELECT kazu from hokan GROUP BY code in ('01','02','03')";
$sql = "SELECT kazu from hokan where basyo in ('A','B') GROUP BY code in ('01','02','03')";
$sql = "SELECT kazu from hokan where basyo in ('A','B') GROUP BY code and code in ('01','02','03')";
$sql = "SELECT kazu from hokan where basyo in ('A','B') GROUP BY code and code in ('01','02','03')";
$sql = "SELECT kazu from hokan where basyo in ('A','B') AND GROUP BY code and code in ('01','02','03')";
$sql = "SELECT kazu from hokan where GROUP BY code and code in ('01','02','03')";
$sql = "SELECT kazu from hokan where code in ('01','02','03') GROUP BY code";
$sql = "SELECT kazu from hokan where basyo in ('A','B') AND code code ('01','02','03')";
$sql = "SELECT kazu , basyo='A' + basyo='B' from hokan where code in ('01','02','03')";
$sql = "SELECT kazu , basyo 'A'+'B' from hokan where code in ('01','02','03')";
$sql = "SELECT kazu , basyo 'A'+'B' from hokan where AND code in ('01','02','03')";
$sql = "SELECT kazu from hokan where basyo 'A'+'B' AND code in ('01','02','03')";
こういった場合の正しい指定方法をご存知でしたら、恐れ入りますがご教授の程どうぞよろしくお願い申し上げます。
0 likes