2015-11-13 3 views
0

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

Я хочу присоединиться к вложенному элементу в столбце «id» в val2, но как это указать? Когда я пытаюсь выполнить следующий запрос, я получаю сообщение об ошибке «Идентификатор столбца был указан несколько раз для« v ».«

Я использую Microsoft SQL Server 2008 R2.

SELECT top 20 SUM(pagecount) AS totalPages, fullname, name FROM cas_sdr_history h 
INNER JOIN cas_user_ext u ON h.accountid = u.x_id 
INNER JOIN (select * from cas_val_assoc ass 
     full outer join cat_validation val2 on ass.mainid = val2.id 
     full outer join cat_validation val on ass.associd = val.id 
     where mainid is not null 
     and val2.name not in ('03','04','05','06','07','08','09','10','11','12')) v on v.id = u.x_id 
WHERE trxdate BETWEEN '11/01/2015' AND '12/01/2015' 
GROUP BY fullname, name 
ORDER BY totalPages DESC 

ответ

3

Поскольку 2 соединены таблицы же column: id

Вы должны выбрать один из них. Если вы хотите, чтобы получить все столбцы, вы должны использовать псевдоним colums

Пример: val.id AS ID, val2.ID AS ID2

+0

теперь я чувствую себя глупо! Спасибо за ответ, который отлично работал. – Tommen

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