2012-12-10 214 views
-2

我已經創建了一個數據庫,我試圖從多個表中提取信息。我期待不超過3個結果,我以15結束!MYSQL查詢問題

在15個結果中,它也複製了數據並且給出了錯誤的數據!

確定這裏是語句升跑

select * 
from [Student, Accomadation_Application 
where lname = 'Torrance' 
    and accomodationType = 'flat' 

任何幫助將是巨大的不知道如果我提供了足夠的信息..

+1

瞭解數據庫模式和內容將有所幫助。 – moonwave99

+0

你有任何獨特的專欄嗎?因爲如果你得到15個結果而不是3個,很可能你的db表沒有'UNIQUE'約束。 – wkoot

+0

我剛剛在表單 –

回答

1

您需要使用外鍵的兩個表進行連接。像這樣的查詢將爲您提供兩個表中所有行的可能組合。

像Student.key = Accomadation_Application.fk - 或其他方式。

+0

l確實已使用學生表bannerNo中的主鍵將學生表與學生表相關聯。這就是accomadation_application中的FK,它試圖提取只有姓氏的人的記錄,這個人的姓名是瓦隆,但它重複所有3個姓Torrance的姓氏,然後給我其他人的數據,旁邊有託蘭斯的名字? ? –

2

這張表之間有一些關係嗎? 您應該使用類似

SELECT * 
FROM student 
    INNER JOIN Accomadation_Application ON Accomadation_Application.studentId = student.id 
WHERE lname = 'Torrance' and accomodationType = 'flat' 
1

您必須將表格連接在一起。

SELECT * FROM 學生小號 加入accomadation_application一個 上 a.iname = s.iname 其中 s.iname = '託倫斯' 和a.accomodationType = '平'

(語法可能需要轉換,因爲這爲t SQL)

1

猜測基於你的表可能含有......

SELECT * 
FROM Student AS s 
JOIN Accomadation_Application AS a ON s.bannerNO = a.bannerNo 
WHERE s.lname = 'Torrance' AND a.accomodationType = "flat"; 
+0

學生表上的bannerNO,fName,lName,DOB,課程Acomadation_Application表包含applicationRef,accomadtionType,durationofStay,applcationDate,bannerNo與bannerNo是fk –

+0

已更新!在我起牀之前,我不應該寫SQL查詢! –