我有这个SQL查询:
SELECT DISTINCT aname, avg(salary)
FROM aircraft, certified, employees
WHERE cruisingrange > 1000 AND ((certified.eid = employees.eid) = (aircraft.aid = certified.aid));
在一列中,我正在尝试显示巡航范围超过1000英里(cruisingrange> 1000)的所有飞机的飞机名称(aname)。在另一列中,我正在尝试显示已获得认证的飞行员(certified.eid = employees.eid)的平均工资(avg(salary)),他们被认证为特定飞机的飞行员(AND后的整个条件)。然而,它将所有工资合并为一个值并返回,因此我只得到了一个具有两列和一行的表格,而不是许多行(它仅显示一个飞机名称)。
这些SQL查询分别可以正常工作:
SELECT aname
FROM aircraft
WHERE cruisingrange > 1000;
SELECT avg(salary)
FROM employees, certified
WHERE employees.eid = certified.eid;
SELECT DISTINCT aname
FROM aircraft, certified
WHERE certified.aid = aircraft.aid;
我该如何编写一个查询来执行我想要的操作?今天我刚开始自学SQL,如果答案很明显,对不起。欢迎提出任何建议。