私はこのクエリを持っています。ただし、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(MINUTE、l.lead_date_received、NOW())していますあなたのwhere句に> 30? – InSane
@InSane:あなたはそうだ、私はその点を逃した:(ありがとう – Sarfraz