如何更改此查询,在此我想将max转换为子查询,当我输入sql时,唯一会出现的是id和名字。
SELECT staff.staff_id,staff.firstname,max(payment.amount)
from payment ,staff
where payment.staff_id=staff.staff_id
答案 0 :(得分:0)
使用显式连接
SELECT staff.staff_id,staff.firstname,max(payment.amount)
from payment join staff
on payment.staff_id=staff.staff_id
但是我想你想要
SELECT staff.staff_id,staff.firstname,p.amount
from payment p join staff
on p.staff_id=staff.staff_id
where p.amount= select max(amount) from payment
答案 1 :(得分:0)
您可以尝试使用相关子查询
SELECT staff.staff_id,staff.firstname
from payment inner join staff
on payment.staff_id=staff.staff_id where payment.amount in (select max(payment.amount) from payment)
答案 2 :(得分:0)
从JOIN
到(相关)子查询:
SELECT staff.staff_id, staff.firstname,
(SELECT MAX(payment.amount)
FROM payment
WHERE payment.staff_id = staff.staff_id)
FROM staff