간단한 캘린더를 구현하는 동안 막 다른 골목을 찾아 왔습니다. 그건 내 주 '테이블 스키마입니다 :간단한 캘린더 구현
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가 인수로 WEEKNUM을 포함하는 쿼리 (예 : 40)을 실행 한 후 45 15에서 값을 사용합니다, 나는 몇 가지를 얻을 수 방 번호 (E31, E32 등). 쿼리의 결과에 따라 적절한 행과 열에 대해 셀 값을 "yes"로 설정하기 만하면됩니다. 예를 들면 :
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
를 실행 한 후 내가 얻을 :
http://img37.imageshack.us/img37/7633/screenshotoy.png
:+---------+
| roomnum |
+---------+
| c21 |
| a32 |
| c12 |
| d12 |
| d11 |
| e22 |
| a22 |
| c31 |
| e12 |
+---------+
이 또한 당신에게 내가 뭘하려고 오전의 아이디어를 줄 수있는 스크린 샷입니다
도움이 될 것입니다.
안녕하세요. 나중에 귀하의 게시물 형식을 지정하십시오. 나는 이번에 당신을 위해 해 봤습니다 - 내가 한 짓과 내가했던 것을 배우기 위해 작은 이름의 "편집 된 X 분 전"을 클릭하여 처음 게시 한 것의 차이점을 살펴보십시오. =) –
btw [Dateformat] (http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format) –
도 좋습니다. 방 번호를 collumns로 설정하십시오. –