SELECT col1,
col2,
col3,
1 AS query_id
FROM players
WHERE username='foobar'
union all
select null,
null,
null,
1
where not exists (select 1 from players where username = 'foobar');
या एक विकल्प के रूप में ( तेजी से हो सकता है क्योंकि कोई दूसरा सबसिले की आवश्यकता नहीं है):
with qid (query_id) as (
values (1)
)
select p.*,
qid.query_id
from qid
left join players as p on (p.useranme = 'foobar');
आप एक अधिक "कॉम्पैक्ट" प्रतिनिधित्व के लिए फिर से ऊपर लिख सकते हैं:
select p.*,
qid.query_id
from (values (1)) as qid (query_id)
left join players as p on (p.useranme = 'foobar');
लेकिन मुझे लगता है कि स्पष्ट सीटीई ( with...
) अधिक पठनीय है (हालांकि यह हमेशा देखने वाले की नजर में है)।