0

私はテーブルからその週を休みたいです。フィールドtblweekoffを持つテーブル

fldid   flddept     fldemployee         fldintime   fldouttime  fldlateafter    fldearlybefore  fldweekoff  fldshiftname    fldassigndate   fldfromdate fldtodate   fldrefid
1       Corporate   00625267-Karthick S 09:30 am    06:15 pm    09:30 am        06:15 pm         Sat,Sun,   COR-General Shift 07-25-2012    07-01-2012  07-31-2012

こんなレポートが欲しいです。

fldemployee           flddate       fldweekoff 
00625267-Karthick S   07-25-2012    
00625267-Karthick S   07-27-2012    
00625267-Karthick S   07-28-2012    weekoff
00625267-Karthick S   07-29-2012    weekoff
00625267-Karthick S   07-30-2012    
00625267-Karthick S   07-31-2012    
00625267-Karthick S   08-01-2012    weekoff
00625267-Karthick S   08-02-2012    weekoff
00625267-Karthick S   08-03-2012    
00625267-Karthick S   08-04-2012   
......

2012年7月25日から2012年8月10日までのレポートを取得したいのは、上記の結果がそのように表示されることを意味します。

これをするのを手伝ってください。

4

3 に答える 3

0

こんな感じじゃない?

SELECT fldemployee, flddate, fldweekoff FROM yourtablename WHERE fldweekoff = `weekoff` AND flddate > `07-25-2012` AND flddate < `08-10-2012`;

このクエリには小さなエラーがあるかもしれませんが、それはあなたが望むものに近いはずです。

于 2012-08-29T08:09:07.843 に答える
0

まず、カレンダーテーブルを作成する必要があります。

Mysqlを参照してください:2つの日付の間のすべてのデータを選択してください

そこから、カレンダーテーブルの結果を従業員に結合できます。

于 2012-08-29T08:09:53.093 に答える
0

mySqlワークベンチを使用すると仮定しますか?

このコマンドを使用する

SELECT * FROM `a_database`.`a_table` where `flddate` >= '07-25-2012' and `flddate` <= '08-10-2012' and `fldweekoff` = 'weekoff';
于 2012-08-29T08:11:34.193 に答える