今月末にライブラリカードが終了し、図書館に返却されていないすべての人を連れて行く必要があります。有効なSQL要求を作成できません。 MySQL
select reader.nameReader from reader where year(reader.validityOfTicket)=year(current_date()) and month(reader.validityOfTicket)=month(current_date())
and day(reader.validityOfTicket)>day(current_date())
でもない、私は図書館に本を返却has'tすべての人々を取ることができない: 私は図書館カードの端今月中に見つけ人々がいることを要求してきました。 誰かが本を取った場合は、「Give」のようにhistory.actionHistory
に表示されます。誰かが本を持ち帰った場合、「Take」のようにhistory.actionHistory
に表示されます。 私のテーブルはここにあります。ヘルプpls!手始めに
create table author(
idAuthor int auto_increment NOT NULL,
nameAuthor VARCHAR(30) NOT NULL,
surnameAuthor VARCHAR(40),
PRIMARY KEY(idAuthor)
);
create table book(
idBook int NOT NULL,
title varchar(20) NOT NULL,
publishingHouse varchar(60) NOT NULL,
publishingDate DATE NOT NULL,
location VARCHAR(30) NOT NULL,
accessType enum('Full','Restricted') NOT NULL,
currentState enum('Store','Reader'),
idAuthor int NOT NULL ,
PRIMARY KEY(idBook),
foreign Key (`idAuthor`) references `author`(`idAuthor`)
ON DELETE CASCADE ON UPDATE CASCADE
);
create table reader(
idReader int auto_increment NOT NULL,
surnameReader varchar(30) NOT NULL,
nameReader varchar(30) NOT NULL,
patronymicReader varchar(30) NOT NULL,
validityOfTicket DATE NOT NULL,
category enum('Full', 'Restricted') NOT NULL,
PRIMARY KEY(idReader)
);
create table history(
idHistory int auto_increment NOT NULL,
dateHistory DATE NOT NULL,
actionHistory enum('Give','Take'),
idReader int NOT NULL,
idBook int NOT NULL,
PRIMARY KEY(idHistory),
foreign key (`idReader`) REFERENCES `reader`(`idReader`)
ON DELETE CASCADE ON UPDATE CASCADE
);
クエリの結果、期待する結果、およびサンプル行を表示すると助けが簡単になります。 – rlanvin