我正在做作业,但无法找出“NOT IN”功能的正确语法。
该数据库是为此任务组成的一个小型保险数据库(承运人、成员(member)、雇主、计划)。我应该“列出所有运营商及其拥有的计划数量。(使用右连接或左连接)。列出载体 ID、汽车名称和计划数量。”
这是我现在写的:
SELECT carrier_id, carname, count(*) AS NoPlans
FROM carriers RIGHT JOIN plans
ON carriers.carrier_id = plans.carrierid;
当我尝试运行它时,这会引发“不是单组组函数”错误,但那是因为我认为它正在寻找 WHERE 子句,而我不知道条件应该是什么。
载体表结构:
Name Null Type
------------------------------ -------- -----------
CARRIER_ID NOT NULL CHAR(4)
CARNAME CHAR(35)
CARADDRESS CHAR(50)
CARCITY CHAR(30)
CARSTCODE CHAR(2)
CARZIP CHAR(10)
CARPHONE CHAR(10)
CARWEBSITE CHAR(255)
CARCONTACTFIRSTNAME CHAR(35)
CARCONTACTLASTNAME CHAR(35)
CARCONTACTEMAIL CHAR(255)
11 rows selected
计划表结构:
Name Null Type
------------------------------ -------- -------------
PLANID NOT NULL NUMBER
PLNDESCRIPTION CHAR(35)
PLNCOST NUMBER(8,2)
CARRIERID CHAR(4)
4 rows selected
最佳答案
SELECT carrier_id, carname, count(*) AS NoPlans
FROM carriers RIGHT JOIN plans
ON carriers.carrier_id = plans.carrierid
GROUP BY carrier_id, carname;
关于sql - 这个右连接问题的正确语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4148187/