Как решить Неверное имя объекта при именовании select / - PullRequest
0 голосов
/ 16 января 2020

Я назвал свой запрос, и когда я попытался его использовать, я получил: Неверное имя объекта 'AssetsTenDays'. Как мне решить эту проблему?

WITH AssetsTenDays AS(
SELECT DISTINCT top 2 
   a.name,
   ir.number
   FROM install i
   INNER JOIN asset a ON a.pws_assetId = i.pws_AssetId   
   WHERE a.days = 10        
)

, когда я пытаюсь использовать его, я получаю Неверное имя объекта -

SELECT distinct  *
from AssetsTenDays  

Ответы [ 2 ]

0 голосов
/ 16 января 2020

Общее табличное выражение следует использовать сразу после объявления:

WITH AssetsTenDays AS(
    SELECT DISTINCT top 2 a.name, ir.number
    FROM install i INNER JOIN 
         asset a 
         ON a.pws_assetId = i.pws_AssetId   
    WHERE a.days = 10        
)
SELECT ad.*
FROM AssetsTenDays ad;

Вы не можете использовать другой оператор SELECT между объявлением и вызовом общего табличного выражения. Это следует немедленно назвать после объявления.

0 голосов
/ 16 января 2020

Попробуйте использовать их вместе в одном SQL выражении, например:

WITH AssetsTenDays AS(
SELECT DISTINCT top 2 
   a.name,
   ir.number
   FROM install i
   INNER JOIN asset a ON a.pws_assetId = i.pws_AssetId   
   WHERE a.days = 10        
)
SELECT distinct  *
from AssetsTenDays  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...