Doszedłem do ślepego zaułka, próbując wdrożyć prosty kalendarz. To tabeli schematu moich tygodni:wdrażanie prostego kalendarza
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;
Nazwy kolumn są liczbami pokojowej i WEEKNUM przyjmuje wartości od 15 do 45. po uruchomieniu kwerendy, która zawiera WEEKNUM (np 40) jako argument, mam pewne numery pokoi (E31, E32 itp.). Po prostu chcę ustawić wartość komórki na "tak" dla odpowiedniego wiersza i kolumny, w zależności od wyniku zapytania. Na przykład: po uruchomieniu
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
uzyskać:
+---------+
| roomnum |
+---------+
| c21 |
| a32 |
| c12 |
| d12 |
| d11 |
| e22 |
| a22 |
| c31 |
| e12 |
+---------+
to również zrzut ekranu, który może dać wyobrażenie o tym, co próbuję zrobić:
http://img37.imageshack.us/img37/7633/screenshotoy.png
Każda pomoc zostanie doceniona.
Witam, witam w SO! Zadbaj o formatowanie swoich postów w przyszłości. Zrobiłem to za Ciebie tym razem - spójrz na różnice między tym, co zrobiłem, a tym, co po raz pierwszy opublikowałeś, klikając na małe "edytowane X min temu" powyżej mojego imienia, aby dowiedzieć się, co zrobiłem. =) –
btw może Ci się spodobać [Dateformat] (http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format) –
również nie sugeruję ci ustaw numery pokoi jako kolumny –