Как отфильтровать значения из запроса к базе данных SQL Server? - PullRequest
0 голосов
/ 09 сентября 2011

У меня есть запрос, который работает нормально с базой данных MySQL, но нам пришлось перенести базу данных и приложения на SQL Server. Теперь у меня проблемы с выполнением этого запроса.

SELECT  
   complist.CompName, 
   complist.CompID, 
   componenttrace.Remark, 
   complist.McID, 
   complist.Station, 
   complist.Slot, 
   complist.Amount - complist.Used - ISNULL(complist.Correction,0) 
FROM 
   complist, componenttrace 
WHERE 
   complist.McID = 1004 
   AND complist.CompID = componenttrace.CompID 
   AND UPPER(complist.Station + '.' + complist.Slot) LIKE '%1.1%'
ORDER BY 
   complist.CompName, complist.CompID

В приложении, часть, которая идет

AND UPPER(complist.Station + '.' + complist.Slot) LIKE '%1.1%'

добавляется автоматически, если в данном поле есть какое-либо значение (т.е. 1.1).

У меня проблема с синтаксисом SQL, но я не знаю, как ее решить. Кто-нибудь может пролить немного света здесь?

спасибо,

Густаво

1 Ответ

0 голосов
/ 09 сентября 2011

Без сообщения об ошибке очень сложно сказать, что не так, но моя ставка на неявное соединение. Попробуйте

SELECT  
   complist.CompName, 
   complist.CompID, 
   componenttrace.Remark, 
   complist.McID, 
   complist.Station, 
   complist.Slot, 
   complist.Amount - complist.Used - ISNULL(complist.Correction,0) 
FROM 
   complist
INNER JOIN componenttrace ON complist.CompID = componenttrace.CompID 
WHERE 
   complist.McID = 1004 
   AND UPPER(complist.Station + '.' + complist.Slot) LIKE '%1.1%'
ORDER BY 
   complist.CompName, complist.CompID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...