Bulunan değerlere bağlı olarak 'EVET' veya 'HAYIR' gösterecek bir satır oluşturmaya çalışın (bir ağaç argümanda verilen tarihten önce işleme tabi tutulduysa EVET HAYIR olursa).SQL - iç IF veya CASE ile SELECT
İşte benim işlevi var:
CREATE OR REPLACE FUNCTION tree_care(care_date DATE)
RETURNS TABLE(name VARCHAR(32), type VARCHAR(32), treated TEXT) AS
$$
BEGIN
RETURN QUERY
SELECT tree.name,
tree.type,
IF EXISTS (SELECT * FROM treatment
JOIN tree ON tree.name = treatment.tree_name
WHERE treatment.date < care_date) THEN
'YES'::text
ELSE
'NO'::text
END IF
FROM tree;
END;
$$
Ve aşağıdaki hatayı alıyorum:
ERROR: syntax error at or near "EXISTS"
LINE 8: IF EXISTS (SELECT * FROM treatment
İnsan nasıl SELECT'in içindeki bir IF deyimi uyguluyor mu?
PS: postgresql 9,4
IF IFISTS koşullu mantığını kapatmak için SON IF'den sonra noktalı virgül kullanmanız gerektiğini düşünüyorum. – Dresden