Reputation: 3903
I would like to execute the below query by passing some values from applet side tables.
My table is
style_no | version_no | style_id
---------------------+------------+----
Menshirt | 1 | 861
Menshirt | 2 | 870
Tops | 1 | 893
Childwear | 1 | 856
Childwear | 2 | 978
If user select MenShirt with version 1,Tops with version 1,ChildWear with version 2 details, so my StylenoStr arguments = (MenShirt, Tops, Childwear) and VernoStr argument = (1, 1, 2). My problem is the below query retrieves the data with MenShirt details for Version 2 which is no needed here. How do I write a query to get results for only selected data? I am using Pgsql.
Actual query:
select style_id, style_no, version_no
from style
where style_no in (" + StylenoStr + ")
and version_no in (" + VernoStr + ")
Executed query:
select style_id, style_no, version_no
from style
where style_no in ('Menshirt', 'Tops', 'Childwear')
and version_no in ('1', '1', '2');
Result I am getting:
style_id | style_no | version_no
---------+-----------------+------------
861 | Menshirt | 1
870 | Menshirt | 2
893 | Tops | 1
978 | Childwear | 2
Result I need is:
style_id | style_no | version_no
----------+----------------+------------
861 | Menshirt | 1
893 | Tops | 1
978 | Childwear | 2
Thanks a lot.
Upvotes: 0
Views: 102
Reputation: 36729
select style_id, style_no, version_no
from style
where (style_no, version_no) in (('Menshirt', '1'),
('Tops', '1'),
('Childwear', '2'));
Upvotes: 2