dinsdag 13 november 2012

Postgresql subquery hack

Blijkbaar als een subquery geen resultaat vind, geeft deze een lege recordset terug. Als je deze dan concatenate met een char waarde geeft deze een empty field.

For example,

SELECT resource_resource.name ||' '|| hr_employee.surname || ' : ' ||  (SELECT jfs_partner_contact_details.value FROM

Zal als resultaat een lege record terug geven. Een hack die ik hiervoor heb gebruikt is de volgende.

SELECT resource_resource.name ||' '|| hr_employee.surname || ' : ' ||  (SELECT COALESCE(MAX(jfs_partner_contact_details.value),'NO EMAIL FOUND') FROM

Door MAX() te gebruiken zal bij een lege recordset de waarde null worden teruggeven, die we dan vervangen door COALESCE() te gebruiken.

Geen opmerkingen:

Een reactie posten