#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
Пожалуйста, подробнее расскажите о том, какой результат / результат вы хотите получить из списка данных.