2 回答

TA貢獻1891條經驗 獲得超3個贊
您可以通過將查詢包含為“表表達式”來生成此命名列。例如:
select *
from ( -- table expression "x" starts
SELECT p.id as project_id, (
SELECT pfva.dateValue
FROM ProjectFieldValue pfva
WHERE (pfva.fieldKey = 'listing_date' AND p.id = project_id)
LIMIT 1
) as table_filter_date
FROM Project p
JOIN ProjectFieldValue pfv
ON p.id = pfv.project_id
WHERE (fieldKey = 'contract_status' AND pfv.textValue IN ('Active'))
) x -- table expression "x" ends
WHERE table_filter_date BETWEEN '2020-06-06' AND '2020-12-12'

TA貢獻1810條經驗 獲得超4個贊
存儲table_filter_date在變量中并在您的WHERE子句中使用它:
SELECT p.id as project_id, ( @tfd := (
SELECT pfva.dateValue
FROM ProjectFieldValue pfva
WHERE (pfva.fieldKey = 'listing_date' AND p.id = project_id)
LIMIT 1
) ) as table_filter_date
FROM Project p
JOIN ProjectFieldValue pfv
ON p.id = pfv.project_id
WHERE (fieldKey = 'contract_status' AND pfv.textValue IN ('Active'))
AND @tfd BETWEEN '2020-06-06' AND '2020-12-12'
- 2 回答
- 0 關注
- 164 瀏覽
添加回答
舉報