Я хочу найти имя с конкретными идентификаторами.
select * from members where 1=1 AND MemberID IN('2,8') and Status = '1' AND (FirstName LIKE 'v%') ORDER BY MemberID
вот мой запрос.Может кто-нибудь сказать мне, что не так и что правильный запрос для поиска имени с конкретными идентификаторами.
Спасибо
Вы не должны использовать одинарные кавычки в IN пункт. Если ваш столбец MemberId тип varchar или тип символа, вы необходимо использовать MemberID IN ('2', '8') но если ваш MemberID имеет целочисленный тип, Вы должны использовать: MemberID IN (2,8)
Вы не должны использовать одинарные кавычки в IN пункт. Если ваш столбец MemberId тип varchar или тип символа, вы необходимо использовать MemberID IN ('2', '8')
но если ваш MemberID имеет целочисленный тип, Вы должны использовать: MemberID IN (2,8)
Может быть ошибка в этом MemberID IN('2,8'). Это должно быть MemberID IN('2','8') Вы поместили одинарную кавычку в неправильном порядке.
MemberID IN('2,8')
MemberID IN('2','8')
Также 1=1? почему добавил это в запрос?
1=1
Если вы укажете сообщение об ошибке, вам будет легче его решить.
Я думаю, что здесь стоит ошибкаэто номер, поэтому база данных примет его.
Возможно, ваше предложение IN неверно
Если MemberID - это число, оно должно быть:
SELECT * FROM members WHERE 1=1 AND MemberID IN (2, 8) AND Status = '1' AND FirstName LIKE 'v%' ORDER BY MemberID
Если MemberId - строка, она должна быть
SELECT * FROM members WHERE 1=1 AND MemberID IN ('2', '8') AND Status = '1' AND FirstName LIKE 'v%' ORDER BY MemberID
Я думаю, вы не должны связывать свои номера с ' '
'