나는이 쿼리가 있습니다. 그러나 보시다시피 minutes
은 FROM
절 또는 하위 쿼리가 아닌 SELECT
절에만 표시되며 minutes > 30
과 같은 내 조건은 WHERE
절에서 인식되지 않습니다.SQL 쿼리 문제
어떻게 수정합니까? 감사합니다
나는이 쿼리가 있습니다. 그러나 보시다시피 minutes
은 FROM
절 또는 하위 쿼리가 아닌 SELECT
절에만 표시되며 minutes > 30
과 같은 내 조건은 WHERE
절에서 인식되지 않습니다.SQL 쿼리 문제
어떻게 수정합니까? 감사합니다
SELECT l.lead_id, l.lead_date_received, TIMESTAMPDIFF(MINUTE, l.lead_date_received, NOW()) AS minutes, s.admin_id,
a.name, a.email
FROM leads l
INNER JOIN sales_emails s
ON l.lead_id = s.lead_id
INNER JOIN admin a
ON a.admin_id = s.admin_id
WHERE NOT EXISTS (SELECT 1 FROM comments c WHERE l.lead_id = c.lead_id)
AND TIMESTAMPDIFF(MINUTE, l.lead_date_received, NOW()) > 30
ORDER BY minutes, l.lead_date_received DESC
또는 다른 쿼리 추가 :
SELECT *
from
(
SELECT l.lead_id, l.lead_date_received, TIMESTAMPDIFF(MINUTE, l.lead_date_received, NOW()) AS minutes, s.admin_id,
a.name, a.email
FROM leads l
INNER JOIN sales_emails s
ON l.lead_id = s.lead_id
INNER JOIN admin a
ON a.admin_id = s.admin_id
WHERE NOT EXISTS (SELECT 1 FROM comments c WHERE l.lead_id = c.lead_id)
ORDER BY minutes, l.lead_date_received DESC
)
Where minutes > 30
WITH Something as (
SELECT l.lead_id,
l.lead_date_received,
TIMESTAMPDIFF(MINUTE, l.lead_date_received, NOW()) AS minutes,
s.admin_id,
a.name, a.email
FROM leads l
INNER JOIN sales_emails s ON l.lead_id = s.lead_id
INNER JOIN admin a ON a.admin_id = s.admin_id
WHERE NOT EXISTS (SELECT top 1 1 FROM comments c WHERE l.lead_id = c.lead_id)
)
Select * FROM Something
WHERE minutes > 30
ORDER BY minutes, lead_date_received DESC
mysql은 공통 테이블 표현식을 지원하지 않습니다. –
을 어느 내가 뭔가 분명 here..but u는 추가'그리고 TIMESTAMPDIFF 수 없습니다 실종 (NOW, l.lead_date_received, 분()) > 30'을 where 절에 추가 하시겠습니까? – InSane
@InSane : 맞아, 그 시점을 놓쳤다 :(감사합니다 – Sarfraz