0

私はデータベースに接続された空席カレンダーを備えたウェブサイトを開発しています。私は、2012-10-01から2030までの毎日を次のフィールドで一覧表示するテーブルを作成することができました。

MyTable
-----------                 
 -dt date                       
 -mid smallint (ID for each month)  
 -y smallint (year)         
 -m tinyint (month)         
 -d tinyint (day)                   
 -dw tinyint (day of week)          
 -monthName varchar             
 -isVacant binary   
 -isWeekday  binary

このデータをウェブサイトに表示したいのですが、毎月(半ば)、毎日、空いているか空いているかを示しています。基本的に、データを行から列に変換する必要があります。

私はそれを行うためのクエリを探しましたが、今のところ何も機能していません。ピボットクエリの例を書き直そうとしましたが、構文が正しくないようです。誰かがこれで私を助けることができますか?

内容は次のようになります 。mysqlカレンダーテーブル-html テーブル

4

2 に答える 2

0

なぜmysqlクエリでデータを単一の行に入れたいのですか?データを1日1行ずつphpにプルし、phpを使用してデータを好きなように配置します。おそらくmysqlソリューションがありますが、努力する価値はないと思います。日々をループして、アレイにデータを入力していきます。

于 2012-10-17T18:23:07.237 に答える
0

よくわかりませんが、これがあなたが手に入れたいものだと思います。テーブルデータと結果サンプルを提供した方が良かったかもしれません:

select m, (case d when 1 then isVacant),  (case d when 2 then isVacant), 
 (case d when 3 then isVacant), ..... 
from MyTable
group by m
order by m

EDIT : sqlfiddle を見て ください isVacant 列を整数型フィールドとして作成したことに注意してください。

于 2012-10-17T18:53:48.977 に答える