У меня есть запрос, который извлекает только два столбца и выравнивает один из столбцов только с именем носителя. Это запрос, для этого:Поиск в базе данных SQL Server с подстрокой
Select
[Object],
CASE WHEN MsgID = '61' THEN SUBSTRING(Parms,35,6) END AS [MEDIA]
from JnlDataSection
Результаты от этого:
Object --------- 061 STATEMENTS MEDIA --------- X01180 X01181
Как вы можете видеть, что есть несколько Medias для одного объекта. Я хочу, это ручной запрос, в котором я могу просто изменить его с именем объекта и искать один объект со всеми его соответствующими медиа и наоборот.
Это запрос, я придумал:
Select
[Object],
CASE WHEN MsgID = '61' THEN SUBSTRING(Parms,35,6) END AS [MEDIA]
WHERE [OBJECT] = '061 STATEMENTS'
from JnlDataSection
Однако я получаю эту ошибку:
Msg 156, Level 15, State 1, Line 5
Incorrect syntax near the keyword 'from'.
Пожалуйста, обратите внимание: Я использую SQL Server Management Studio 2008.
ОБНОВЛЕНИЕ
После прочтения comme NTS, я попробовал этот запрос:
Select
[Object],
CASE WHEN MsgID = '61' THEN SUBSTRING(Parms,35,6) END AS [MEDIA]
from JnlDataSection
WHERE [MEDIA] = 'X05219'
Он дал мне эту ошибку:
Msg 207, Level 16, State 1, Line 5
Invalid column name 'MEDIA'.
Как я могу это исправить?
Порядок статей должен быть 'SELECT ... FROM ... WHERE ... GROUP BY. ..HAVING ... ORDER BY'.У вас есть 'WHERE' перед вашим' FROM'. – JNK
Выберите [Object], случая, когда MsgID = '61' THEN подстроки (Parms, 35,6) END AS [MEDIA] из JnlDataSection WHERE [MEDIA] = 'X05219' –
@JNK Я получаю эту ошибку, когда я попробуйте запустить это. Msg 207, уровень 16, состояние 1, строка 5 Недопустимое имя столбца 'MEDIA'. –