0

次のSQLコードがあります:

$management_lcfruh_sql = "SELECT COUNT(schicht), codes.lcfruh, personal.status, dienstplan.kw, personal.perso_id, personal.sort_order, dienstplan.datum FROM dienstplan INNER JOIN codes ON dienstplan.schicht=codes.lcfruh INNER JOIN personal ON personal.perso_id=dienstplan.perso_id WHERE codes.lcfruh!='' AND personal.status='management' AND dienstplan.kw='$kw' ORDER BY personal.sort_order, dienstplan.datum";
$management_lcfruh_result= mysql_query($management_lcfruh_sql);

1 つのカウントだけではなく、カウントのリストを取得するにはどうすればよいですか。dienstplan.kw='$kw' は 1 週間のうち 7 日ある週なので、7 つすべての 1 つのカウントではなく、7 つの結果をリストする必要があります。 .

<?php
while($rows=mysql_fetch_array($management_lcfruh_result)){
?>
<? echo $rows['COUNT(schicht)']; ?>
<?php
}
?> 
4

1 に答える 1

0

うーん、余分な情報についてはあまり役に立ちませんでしたが、これで正しい方向に進むことができるかもしれません。

与えられTable1(WeekNo int, Category int, Schict int)Table2 (WeekNo int, Schict int, CategoryDate dateTime)

それで

Select t1.Catgeory, DayName(t2.CategoryDate), t1.Schict, Count(t1.schict)
From Table1 t1
Inner join Table2 t2 On t1.Schict = t2.schict and t1.WeekNo = t2.weekNo
Group by t1.Category,DayName(t2.CategoryDate), t1.Schict

カテゴリごとにカウントを取得し、2 つのテーブルにまたがって schic しますが、取得するレコードの数は、レコードを持っている曜日によって異なります。

Sql でこれを処理することもできますが、配列クライアント側で不足している日数を PHP で埋める方がはるかに簡単です。DayName の代わりに mysql の DayOfWeek 関数を使用すると、おそらくさらに簡単になります。

とにかくいくつかの手がかり おそらく、現在のクエリの select 句に教えてくれないこの日付を単純に追加し、PHP を使用してその日を取得する方が簡単でしょう。

于 2013-09-07T13:25:35.977 に答える