Я пытаюсь изменить вид и я получаю следующее сообщение об ошибке:ALTER VIEW дает недопустимое имя столбца, но ВЫБРАТЬ работает отлично
Msg 207, Level 16, State 1, Procedure PackingList
Invalid column name 'NetLbs'.
Это выглядит как сообщение сами пояснительного, но проблема заключается в столбце есть. Если я запустил select, который является частью представления, он отлично работает.
Это мое заявление о изменении.
alter view [vw].[PackingList]
as
select b.Id,
b.NetLbs
from WorkOrderDetails d
join Boxes b on b.Id = d.BoxId
Если я просто выполняю эту часть, он отлично работает.
select b.Id,
b.NetLbs
from WorkOrderDetails d
join Boxes b on b.Id = d.BoxId
Я попытался сбросить представление и использовать создание, но это тоже не удалось. Итак, я создал представление с этим sql.
create view [vw].[PackingList] as select null as test
И все еще не работает.
Однако я узнал, что если я создаю представление в схеме dbo
, это сработает. Я не уверен, что я должен попробовать дальше.
Я бы постарался поставить схему перед вашими таблицами. Посмотрите, поможет ли это. – SteveB
Есть ли важная причина использовать схему '[vw]' для представлений? У вас действительно так много просмотров, что важно их разделить? Если есть, то я бы предложил отдать свои таблицы с помощью '[dbo]' в определении представления. –
Кроме того, вы объединили две таблицы и использовали только данные из них. Это то, что вы хотели. – SteveB