Как изменить мой ниже Pgsql Query - PullRequest
0 голосов
/ 17 декабря 2010

Я хотел бы выполнить приведенный ниже запрос, передавая некоторые значения из таблиц на стороне апплета.

Моя таблица:

style_no       | version_no | style_id
---------------------+------------+----
 Menshirt      |     1      |      861
 Menshirt      |     2      |      870
 Tops          |     1      |      893
 Childwear     |     1      |      856
 Childwear     |     2      |      978

Если пользователь выбирает MenShirt с версией 1, Tops с версией 1, ChildWear с подробностями версии 2, поэтому мои аргументы StylenoStr = (MenShirt, Tops, Childwear) иАргумент VernoStr = (1, 1, 2).Моя проблема заключается в следующем запросе получает данные с подробной информацией MenShirt для версии 2, которая здесь не нужна.Как мне написать запрос, чтобы получить результаты только для выбранных данных?Я использую Pgsql.

Фактический запрос:

select style_id, style_no, version_no 
from style 
where style_no in (" + StylenoStr + ") 
  and version_no in (" + VernoStr + ")

Выполненный запрос:

select style_id, style_no, version_no 
from style 
where style_no in ('Menshirt', 'Tops', 'Childwear') 
  and version_no in ('1', '1', '2');

Результат Получаю:

style_id | style_no        | version_no
---------+-----------------+------------
     861 | Menshirt        |     1
     870 | Menshirt        |     2
     893 | Tops            |     1
     978 | Childwear       |     2

РезультатМне нужно это:

 style_id | style_no       | version_no
----------+----------------+------------
      861 | Menshirt       |     1
      893 | Tops           |     1
      978 | Childwear      |     2

Большое спасибо.

1 Ответ

2 голосов
/ 21 декабря 2010
select style_id, style_no, version_no
from style
where (style_no, version_no) in (('Menshirt', '1'),
                                 ('Tops', '1'),
                                 ('Childwear', '2'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...