0
drop database if exists RentaHouse;
create database RentaHouse;
use RentaHouse;
create table Staff(
staffNo char(5) not null primary key,
fName varchar(15),
lName varchar(15),
position varchar(15),
dob date,
salary decimal (7,2) unsigned
);
create table PropertyForRent(
propertyNo char(5) primary key,
street varchar(35) not null,
city varchar(15) not null,
pcode varchar(10),
type varchar(20) not null,
rooms tinyint unsigned not null,
rent decimal (6,2) unsigned,
staffNo char(5)
);
ALTER TABLE PropertyForRent
ADD CONSTRAINT whatever foreign key(staffNo) references Staff (staffNo) ON DELETE CASCADE ON UPDATE CASCADE;
insert into staff values
('s1234','Mary','Jones', 'Sales', '1975-12-22',45000),
('s1834','Pat','Roche', 'IT', '1972-09-13',42000),
('s1998','Michael','Brown', 'Sales', '1980-12-09',43500);
insert into propertyForRent values
('p3296','21 Ash Street','Tramore','WD34-543', 'Bungalow',4,1200,'s1234'),
('p3299','William Street','Dungarvan','WD99-088', 'Terrace',3,1050,'s1234'),
('p3344','9 Mary Street','New Ross','WX99-044', 'Terrace',3,800,'s1998'),
('p3356','21 Mary Street','New Ross','WX99-076', '2 Storey',4,1100,null);
/*doesn't work!*/
CREATE VIEW anyView AS
select * from Staff;
/*work!*/
select * from Staff;
/*work!*/
select street, city, type, rent, concat(fName, lName) as 'Name' from
PropertyForRent join Staff on PropertyForRent.staffNo = Staff.staffNo where city = 'New Ross' order by rent;
/*doesn't work!*/
CREATE VIEW myView AS
select street, city, type, rent, concat(fName, lName) as 'Name' from
PropertyForRent join Staff on PropertyForRent.staffNo = Staff.staffNo where city = 'New Ross' order by rent;
すべてのビューは結果を返していません! MySQL Workbench 6.3.8を使用してデフォルトスキーマとして "sakila"を使用しています。MySQL Workbenchでの表示は常に(0)行を返します
私は2日間オンラインで解決策を探していましたが、誰が専門知識を持っているかを尋ねる時が来たと思います。
私はこのスキーマだけでなく、作成したデータベースでもP.Sビューは機能しません。
あなたはmysqlコマンドラインを使用してみましたか?スキーマ(RentaHouse.anyViewからselect *)を使用してみてください。私はまったく問題を発見していません。見てみましょう:http://sqlfiddle.com/#!9/8e9ca1/2 –
問題は、selectステートメントにないビューにあります sqlfiddle.comはVIEWを受け入れません。 RentaHouse.anyViewから*を選択します。作品 – Yahya
select * from RentaHouse.anyView;動作している場合、問題はワークベンチが別のデータベースにビューを作成していることです。 RentaHouseデータベースをクリックし、Defaulf Databaseとして設定して、デフォルトのデータベースを設定してください。デフォルトのデータベースは太字で表示する必要があります。 –