0
我有兩個表,一個調查表和一個屬性表,我正在嘗試編寫一個選擇腳本,它將顯示調查數量的屬性列表這是每個人都進行的。 起初,我只是給我的調查實體添加了一個屬性,指出調查數量,因此我可以編寫一個簡單的腳本。例如,如何提高我的表,以便有效地使用計數函數
SELECT Property_Address, No_of_Survey
FROM Property, Survey
WHERE Property.Property_ID = Survey.Property_ID;
然而,由於我是新來這個,我很快就意識到,這是設計不良,因爲用戶將不得不在每次更新調查的數量,而應該將數據庫進行計算。 那麼我認爲我的選擇查詢應該真的使用計數函數,現在我只是完全混淆了自己! 我想出了一個查詢,但它不起作用,指出該列是不明確定義的。這是我的新腳本;
SELECT Property_Address, COUNT(Survey_ID) AS SurveyCount
FROM Property, Survey
WHERE Property_ID.Property_ID = Survey.Property_ID
GROUP by property_ID;
我真的很希望知道我的創建表需要進行改變,使我的查詢按預期工作,或如果查詢只需要改變。
這是我的桌子;
CREATE TABLE Property
(
Property_ID varchar(5),
Property_Address varchar(25),
Property_Town varchar(25),
Property_Postcode varchar(25),
Asking_Price varchar2(20),
Date_Registered DATE,
Property_Type varchar2(50),
Num_Rooms varchar2(50),
Buyer_ID varchar(5),
Seller_ID varchar(5),
Branch_ID varchar(5),
PRIMARY KEY (Property_ID),
FOREIGN KEY (Buyer_ID) REFERENCES Buyer(Buyer_ID),
FOREIGN KEY (Seller_ID) REFERENCES Seller(Seller_ID),
FOREIGN KEY (Branch_ID) REFERENCES Branch(Branch_ID)
);
CREATE TABLE Survey
(
Survey_ID varchar(5),
No_of_Survey varchar2(10),
Survey_Type varchar2(50),
Property_ID varchar(5),
Buyer_ID varchar(5),
PRIMARY KEY (Survey_ID),
FOREIGN KEY (Property_ID) REFERENCES Property(Property_ID),
FOREIGN KEY (Buyer_ID) REFERENCES Buyer(Buyer_Id)
);
感謝戈登,我現在可以看到我錯在哪裏,如何避免今後犯同樣的錯誤。 –