我想出了一个死胡同,而试图实现一个简单的日历。 这是我的周表模式:实现一个简单的日历
DROP TABLE IF EXISTS `weeks`;
CREATE TABLE `weeks` (
`weeknum` varchar(255) NOT NULL DEFAULT '',
`period1` varchar(255) DEFAULT NULL,
`period2` varchar(255) DEFAULT NULL,
`A11` varchar(255) DEFAULT NULL,
`A22` varchar(255) DEFAULT NULL,
`A31` varchar(255) DEFAULT NULL,
`A32` varchar(255) DEFAULT NULL,
`C11` varchar(255) DEFAULT NULL,
`C12` varchar(255) DEFAULT NULL,
`C21` varchar(255) DEFAULT NULL,
`C22` varchar(255) DEFAULT NULL,
`C31` varchar(255) DEFAULT NULL,
`C32` varchar(255) DEFAULT NULL,
`D11` varchar(255) DEFAULT NULL,
`D12` varchar(255) DEFAULT NULL,
`D21` varchar(255) DEFAULT NULL,
`D22` varchar(255) DEFAULT NULL,
`D31` varchar(255) DEFAULT NULL,
`D32` varchar(255) DEFAULT NULL,
`E11` varchar(255) DEFAULT NULL,
`E12` varchar(255) DEFAULT NULL,
`E21` varchar(255) DEFAULT NULL,
`E22` varchar(255) DEFAULT NULL,
`E31` varchar(255) DEFAULT NULL,
`E32` varchar(255) DEFAULT NULL,
PRIMARY KEY (`weeknum`)
) ENGINE=InnoDB DEFAULT CHARSET=greek;
列名是房间号码和运行包含WEEKNUM查询(例如40)作为参数后的weeknum取值从15到45 ,我得到一些房间号码(E31,E32等)。 我只是想设置单元格值“是”适当的行和列,根据查询的结果。 例如:运行
select room.roomnum
from payment,contract,room,customer
where payment.contractID = contract.contractID
and contract.roomID=room.roomID
and customer.customerID=payment.customerID
and payment.yearkoino='2009' and contract.weeknum=40
后,我得到:
+---------+
| roomnum |
+---------+
| c21 |
| a32 |
| c12 |
| d12 |
| d11 |
| e22 |
| a22 |
| c31 |
| e12 |
+---------+
这也是有可能给你什么,我试图做一个想法截图:
http://img37.imageshack.us/img37/7633/screenshotoy.png
任何帮助,将不胜感激。
大家好,欢迎SO!请注意将来格式化您的帖子。我这次为你做了这件事 - 通过点击我名字上方的小编辑“X分钟前”来了解我所做的和你最初发布的内容之间的差异,以了解我所做的事情。 =) –
btw你可能会喜欢[日期格式](http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format) –
也我不建议你将房间号码设置为collumns –