只有一个结果允许SELECT作为表达式的一部分

use*_*897 1 sql sqlite

我有以下SQL语句.它抛出以下错误:"只有一个结果允许SELECT作为表达式的一部分".我的sql语句的目标是获取制造"最便宜"贿赂的员工的姓名.

括号之间的部分返回employee_id和每天花费的金额(相对最便宜的贿赂).这是两个结果,而我只想要employee_id.所以我只想使用MIN部分来获得正确的employee_id.我怎样才能做到这一点?

SELECT Voornaam, Achternaam
FROM Medewerker m JOIN
     (
      SELECT Medewerker_id
      FROM Steekpenning
      ORDER BY -1*Bedrag/(julianday(Begindatum) - julianday(Einddatum))
      limit 1
     ) s
     on m.Medewerker_id = s.Medewerker_id;
Run Code Online (Sandbox Code Playgroud)

编辑答案.如何扩展此查询以仅显示本月开始的贿赂?我想我需要使用这样的东西?(julianday(Begindatum) - julianday('现在'))> 31但在哪里?

问候.CAS

Gor*_*off 5

我认为以下内容适用于SQLite:

select Firstname, Surname 
from Employee e join
     (select employee_id
      from bribe
      order by -1*Amount/(julianday(Startdate) - julianday(Enddate))
      limit 1
     ) b
     on e.employee_id = b.employee_id;
Run Code Online (Sandbox Code Playgroud)