2015-06-22 3 views
0

У меня есть следующий Group By SQL:Как присоединиться результат Группы запроса в другую таблицу

SELECT 
s.Login_Name, COUNT(s.s1CIDNumber) 
    FROM [dbSuppHousing].[dbo].[tblSurvey] s 
    group by s.Login_Name 

Я хочу знать, как я могу присоединиться к этому результирующему набору в другую таблицу (tblUsers), чтобы добавить user_id к результирующий набор (tblSurvey и tblUsers имеют 1-1 отношения на login_name)

Я попытался следующие:

Select u.User_Id from tblUsers u,a.Login_Name 
inner join 
(SELECT 
s.Login_Name Login_Name, COUNT(s.s1CIDNumber)as abc 
    FROM [dbSuppHousing].[dbo].[tblSurvey] s 
    group by s.Login_Name) a 

on 
u.Login_Name=a.Login_Name 

Я получаю ошибку s. Проблема состоит в том, что столбцы a не видны снаружи.

Например a.abc

ответ

1

Вы здесь ошибка from tblUsers u,a.Login_Name попытаться перенести этот кусок кода a.Login_Name выбрать

Select u.User_Id, a.Login_Name from tblUsers u 
inner join 
(SELECT 
s.Login_Name Login_Name, COUNT(s.s1CIDNumber)as abc 
    FROM [dbSuppHousing].[dbo].[tblSurvey] s 
    group by s.Login_Name) a 

on 
u.Login_Name=a.Login_Name 
0

Ваш пункт from находится в неправильном месте:

Select u.User_Id, a.* 
from tblUsers u inner join 
    (SELECT s.Login_Name, COUNT(s.s1CIDNumber) as abc 
     FROM [dbSuppHousing].[dbo].[tblSurvey] s 
     GROUP BY s.Login_Name 
    ) a 
    ON u.Login_Name = a.Login_Name; 

0

От следует ссылаться на таблицу не столбец:

Select u.User_Id, a.Login_Name from tblUsers u 
inner join 

Другое, чем она должна работать.

0

Некоторые вещи, подобные этому, должны это делать.

select 
    s.Login_Name, 
    u.col_a, 
    u.col_b, 
    u.col_c, 
    count(s.s1CIDNumber) 
from 
    [dbSuppHousing].[dbo].[tblSurvey] s 
    join tblUsers t on s.user_id = t.user_id 
group by 
    s.Login_Name 
    u.col_a, 
    u.col_b, 
    u.col_c 
Смежные вопросы