I have a pgsql table with data as below.
platform;party;code;value
----------------------------
Global;null;name;abc
Local;null;name;abc
Global;null;number;123
Global;null;email;def
Global;Jen;email;fhg
Global;Jack;email;ijk
How to write a query where for a party & platform value passed, it need's to fetch values that the party has & the platform values which the party doesn't have as code params, and if null is passed for party, it should fetch all records where platform value is given by user.
(a) i.e. if i pass party as 'Jen' and platform as 'Global' From the above records i should get the following as result:-
platform;party;code;value
----------------------------
Global;null;name;abc
Global;null;number;123
Global;Jen;email;fhg
(b) and if i pass 'Jack' and platform as 'Global' it should return :-
platform;party;code;value
----------------------------
Global;null;name;abc
Global;null;number;123
Global;Jack;email;ijk
(c) if only platform is passed as 'Global' is passed then it should return :-
platform;party;code;value
----------------------------
Global;null;name;abc
Global;null;number;123
Global;null;email;def
(d) if only platform is passed as 'Local' is passed then it should return :-
platform;party;code;value
----------------------------
Local;null;name;abc
P.S.- I am sorry for my bad english. Will edit with proper language soon.