Я изо всех сил пытаюсь написать запрос для приведенного ниже сценария, может ли кто-нибудь мне помочь?SQL, отображающий неправильные записи в состоянии ИЛИ
У меня две ошибки столбца, а приоритет - это числовые поля. необходимо получить на основе условия. Если я выбираю значение 3, например, из экрана пользовательского интерфейса, он должен искать запись в таблице.
если матч значение в любом из колонки я должен вернуть запись я написал, как это
Select *
FROM WorkItems
WHERE [System.Title] like '%defect%'
AND [System.WorkItemType] in ('Incident','bug')
AND [ErrorClass] =3
OR [Microsoft.VSTS.Common.Priority] =3
AND [Customer] = 'XYZ'
order by [System.WorkItemType]
Его давая ложные записи и выборки всех записей с приоритетом или errorclass = 3, я нужен записывает только тип workitem = инцидент или ошибка для класса ошибки = 3 или приоритет = 3
его возвращение всех записей из таблицы.
Если я поставил и состояние, как этот [ErrorClass] = 3
и [Microsoft.VSTS.Common.Priority] = 3
его возвращение, только если оба значения являются 3. Мне нужно все записи, которые соответствуют 3 наряду с выше условием
Просто добавить к этому, так что OP что-то узнает. Скобки, добавленные в предложение where, нарушают цепочку логики. Поэтому вместо того, чтобы говорить, что это AND ИЛИ для каждого условия, вы можете разбить его на скобки, чтобы иметь предложение OR в предложении AND, если хотите. –
Большое спасибо, его работа. извините, я беден в sql-запросе. – user1845163
Оператор операций состоит в том, что сначала будут оцениваться условия ANd, а затем OR caonditions. Это важно знать, поскольку оно влияет на результаты. Лучше всего заключать вещи в() (которые выше в порядке операций, чем предложение AND), когда вы смешиваете AND и OR, чтобы убедиться, что ваши намерения были ясными. – HLGEM