SQL-запрос, ЕСЛИ он равен 2 или 3

#tsql

Вопрос:

Как лучше всего написать запрос, в котором я прошу вернуть любые значения в ReveiewType 2 и 3 с тем же идентификатором элемента в наборе данных ниже:

 ReviewType  fiscalYear  ElementID   Cycle   dateCompleted   sNumber
  2            1819         SI-063  2016    2018-09-24       128221
  3            1819         SI-063  2016    2018-09-24       128221
  2            1819         SI-065  2016    2018-09-24       128221
  3            1819         SI-065  2016    2018-09-24       128221
  2            1819         SI-066  2016    2018-09-25       128221
  3            1819         SI-066  2016    2018-09-25       128221
 

Это то, что у меня есть до сих пор.. что не получается…

   SELECT Distinct ElementID


                    WHERE ElementID Like '#element#'

                    AND ReviewType IN ('2','3')

                    ORDER BY ElementID
 FROM [DATABSE]
 

Комментарии:

1. Добро пожаловать, SALSQL. Всего пара вещей. Если ReviewType имеет тип INT , то кавычки вокруг цифр не нужны. Кроме того, если вы хотите использовать подстановочные знаки в LIKE инструкции (что, по-видимому, имеет место), вам следует использовать % вместо # .

Ответ №1:

Это звучит как домашнее задание. Если это так, то вежливо сообщить нам об этом.

Вместо distinct elementid, я думаю, вы захотите использовать group by elementid с having предложением count(*) > 1.

Ответ №2:

Я не совсем понимаю ваш вопрос, но ваш синтаксис sql неверен.

Это должно быть так:

 SELECT 
Distinct ElementID
FROM [DATABSE]
WHERE ElementID Like '%St%'
AND ReviewType IN ('2','3')
ORDER BY ElementID
 

Пожалуйста, подробнее расскажите о том, какой результат / результат вы хотите получить из списка данных.