2

私はこのSQLクエリを持っています:

$sql="SELECT *, COUNT(assigned_to) AS my_groupcount from tickets where deleted = '' and DAY(datetime) = '".$_GET["d"]."' and MONTH(datetime) = '".$_GET["m"]."' and YEAR(datetime) = '".$_GET["Y"]."' group by assigned_to order by datetime ASC ";
    $rs=mysql_query($sql,$conn);
    while($result=mysql_fetch_array($rs))
    {
        //work out the total time taken
        $sql3="SELECT *,  TIMEDIFF( timeend, timestart ) AS support_time_used FROM ticket_updates WHERE ticket_seq = '".$result["ticketnumber"]."' ";
        $rs3=mysql_query($sql3,$conn) or die (mysql_error());
        $totaltime = 0;
        while($result3=mysql_fetch_array($rs3))
        {
            $totaltime = $totaltime+substr($result3["support_time_used"],0,2)*60+substr($result3["support_time_used"],3,2);
        }   
        $hours=intval($totaltime / 60);
        $minutes=$totaltime -($hours * 60);
        $total_ticket_time = $hours.'h '.$minutes.'m';

        echo $result["assigned_to"].' ('.$result["my_groupcount"].') - Time: '.$total_ticket_time.'<br>';
    }

そのため、チケット テーブルからすべての行を選択し、assigned_to 列でグループ化します。

次に、テーブルから各ユーザーの使用時間を計算しticket_updatesます。

列はticket_updates.ticket_seq列にリンクしtickets.ticketnumber、チケット テーブルの 1 行に対して ticket_updates テーブルには 1 つまたは複数の行が存在する可能性があるため、すべての違いがテーブルに追加されticket_updatesます。

チケットテーブルから assigned_to (それぞれ 1 つ) をリストし、それぞれの隣にどれだけの時間を使用したかを入力しようとしていますが、1 つのチケットからそれを選択するだけです。

すべてのチケットから選択するにはどうすればよいですか?

4

1 に答える 1