2015-04-01 74 views
-2

如果我想知道有多少人的名字「Jim」通過了他們的測試,我該如何選擇一條語句?我該如何修改select語句來查詢這個數據庫?

另外如果我想在10/03/2015的9:00之後爲每個測試獲得教師姓名和姓氏,客戶姓名和姓氏以及日期?

這是數據庫的關係模式。

客戶clientNo,名,姓,性別,地址,telNo,proLicenceNo)

講師instructorID,名,姓,性別,地址,telNo,licenceNo,卡爾諾(Carno)

汽車卡爾諾(Carno),REGNO,模型)

clientNoonDateatTimeinstructorID

測試clientNoonDateatTime在structorIDcentreID,狀態原因)

中心centreID,姓名,地址)

主鍵是用粗體鍵和外鍵使用斜體。沒有外鍵允許爲空。

謝謝! :)

+4

什麼疑問有你試過嗎? – TiiJ7 2015-04-01 16:00:15

+0

在編寫這條SELECT語句時,究竟是什麼問題?我沒有看到這對未來的讀者會有什麼用處。 – Air 2015-04-01 18:46:32

+0

對不起,我只是有幾個問題,我真的不知道從哪裏開始。我仍然不能做第二個問題,所以我只是尋求一些幫助 – gary1 2015-04-01 22:10:01

回答

0

嘗試像客戶端和測試表之間的連接:

SELECT c.forename, COUNT(c.forname) 
FROM Client c INNER JOIN Test t 
ON c.clientNo = t.clientNo 
WHERE c.forename = 'Jim' 
AND t.status = 'PASS' 
GROUP BY c.forname 
+0

這非常完美,謝謝!如果我希望在10/03/2015之後的9:00之後讓每位考生的姓名和姓名以及日期(如果我想讓教師(送出並拿起)姓名和姓氏) – gary1 2015-04-01 16:17:46

+0

感謝您的幫助,真的很感激它:) – gary1 2015-04-01 16:18:04

0

不知道什麼字段/值構成傳遞使得寫這樣的查詢很困難。 如果我猜的話雖然讓我們假設Test.Status = '通過'

select c.clientNo, c.forename, c.surname, c.gender, c.address, c.telNo, c.proLicenceNo 
    from Client c 
    inner join Test t on t.clientNo = c.clientNo 
where c.forename = 'Jim' and t.Status = 'Passed'; 

http://www.mysqltutorial.org/mysql-select-statement-query-data.aspx

-1
create table passed as 
select a.clientno, a.forename, b.status from 
client a inner join test b on a.clientno = b.clientno 
where a.forename='Jim' and b.status='Pass';