У меня есть запрос Access 2000, который работает с связанными таблицами с SQL Server 2008 R2. Мне нужно написать его как представление или пройти через запрос:подзапрос или сквозной проход; SQL Server 2008r2
`
SELECT Max(CLng((Mid([tbl1]![ID],5)))) AS lastnumberused
FROM [tbl1]
WHERE ((([tbl1]![ID]) Like "OODD*" And ([tbl1]![ID]) Not Like "OODDid*" And ([tbl1]![ID]) Not Like "*x") AND ((CLng((Mid([tbl1]![ID],5))))<1000000));
`
Так что я ищу это максимальное число под 1000000. который начинается с OODD%, но не OODDID%. Также запись не может заканчиваться на «x».
Мой код в TSQL для SQL Server выглядит так и не работает ...
`
SELECT
convert (int, (substring(tblMain.BarcodeID,5,10))) as X1, [ID]
FROM tblMain
WHERE ([tbl1]![ID] LIKE N'OODD%')
AND ([tbl1]![ID] NOT LIKE N'%x%')
AND ([tbl1]![ID] NOT LIKE N'OODDID%')
Select MAX (x1)+1
from bar1
where (x1<1000000)
`
предложения? спасибо, H
Update 15june2013 WITH T1 (number) AS (SELECT substring(tbl1.ID,5,10) FROM tblMain AS tbl1 WHERE (ID LIKE N'oodd%') AND (ID NOT LIKE N'%x%') AND (ID NOT LIKE N'ooddID%')) SELECT (cast((number)as int)) FROM T1
Это работает и возвращает 561770 строк.
With T1(number) as(SELECT cast(SUBSTRING(ID, 5, 7)as int) FROM tblMain as tbl1 WHERE (tbl1.ID LIKE N'oodd%') AND (tbl1.ID NOT LIKE N'%x%') AND (tbl1.ID NOT LIKE N'%ooddID%') AND ISNUMERIC(SUBSTRING(tbl1.ID,5,10))=1) Select max(number) from T1
Также работает, но возвращает номер выше 1000000
Когда где оператор добавляется следующий код включает в себя записи, которые должны были быть исключены в предыдущем заявлении.
Clon- СПАСИБО. Этот код работает, и вы были правы в определении ошибки, которую я сделал в исходном сообщении. Я пытался скрыть имена таблиц и полей.Хотя это работает без ошибок, оно все равно не дает правильного ответа, который дает мой первый интерфейс доступа. Еще раз: я опубликую рабочий код позже/ – Hikerd
Hikerd. Не могли бы вы показать мне ответ, который вы получите против правильного? Кроме того, существует ли какая-либо согласованная структура в содержимом поля ID? Это может помочь. – Clon
Кроме того, вы должны изменить параметры подстрочной функции (5 и 10) в соответствии с вашими требованиями. Я должен был угадать их на основе данной информации. – Clon