2014-10-04 3 views
1

Я пытаюсь написать запрос, который выбирает из этого представления.Невозможно создать таблицу с использованием запроса

CREATE VIEW 
    CarRentalHistoryView 
AS 
    SELECT 
     c.vehNo, 
     c.brand, 
     c.dateRegistered, 
     c.purchasePrice, 
     c.rentalCost, 
     c.condition as 'Before Condition', 
     r.condition as 'After Condtion', 
     r.dateRented, 
     r.dateReturned, 
     r.CustNo,cu.name, 
     cu.id, 
     cu.dateOfBirth 
    FROM 
     dbo.Car c 
    Inner JOIN 
     dbo.Rental AS r 
    ON 
     c.VehNo = r.VehNo 
    Inner JOIN 
     dbo.Customer as cu 
    on 
     cu.CustNo = r.CustNo; 
GO 

Это вопрос, который я пытаюсь запустить,

Select 
    * 
From 
    dbo.CarRentalHistoryView 
Where 
    'Before Condition' != 'After Condition' 

Но запрос работает нормально, даже если это так

Select 
    * 
From 
    dbo.CarRentalHistoryView 
Where 
    'Before Cion' != 'After Ction' 

Поэтому моя точка является то, как я могу убедитесь, что я могу получить результаты транспортных средств, которые имеют другое состояние, чем раньше. TKS!

+0

Никогда не используйте одинарные кавычки для псевдонимов столбцов. Правильными escape-символами в SQL Server являются квадратные скобки. Я голосую, чтобы закрыть это, потому что это типографская ошибка. –

ответ

0

Одиночные кавычки (') обозначают символьные символы. Квадратные фигурные скобки ([]) обозначают имена колонок. Таким образом, ваше творение вид должен выглядеть следующим образом:

CREATE VIEW CarRentalHistoryView 
AS 
SELECT c.vehNo, c.brand, c.dateRegistered, c.purchasePrice, c.rentalCost, 
     c.condition as [Before Condition], 
     r.condition as [AfterC ondtion],  
     r.dateRented, r.dateReturned, r.CustNo, 
     cu.name, cu.id, cu.dateOfBirth 
FROM dbo.Car c 
Inner JOIN dbo.Rental AS r ON c.VehNo = r.VehNo 
Inner JOIN dbo.Customer as cu on cu.CustNo = r.CustNo ; 
GO 

Теперь, вы можете запросить его правильно:

SELECT * 
FROM dbo.CarRentalHistoryView 
WHERE [Before Condition] != [After Condition] 
+0

Tks, это было разобрано. – JackyBoi

Смежные вопросы