如果我想知道有多少名字为“吉姆”的人通过考试,我会如何选择一个陈述?
如果我想在2015年3月10日9:00之后获得每个测试的教练姓名和姓氏,客户姓氏和姓氏和日期怎么样?
以下是数据库的关系模式。
客户( clientNo ,姓名,姓氏,性别,地址,telNo,proLicenceNo)
讲师(讲师ID ,姓名,姓氏,性别,地址,telNo,licenceNo, carNo )
汽车( carNo ,regNo,型号)
课程( clientNo , onDate , atTime ,讲师ID )
测试( clientNo , onDate , atTime , instructorID , centreID ,状态,原因)
中心( centreID ,姓名,地址)
主键以粗体显示,外键以斜体显示。不允许外键为空。
谢谢! :)
答案 0 :(得分:0)
如果不知道哪个字段/值构成了传递,则很难编写这样的查询。 如果我不得不猜测Lets假设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 :(得分: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
答案 2 :(得分:-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';