我有以下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
答案 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;