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

时间:2014-04-17 18:48:02

标签: 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;

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

的问候。 CAS

1 个答案:

答案 0 :(得分: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;