Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Найти уникальное значение поля тип smallint, not null из нескольких таблиц MSSQL 2005  [new]
alexxxfm
Member

Откуда:
Сообщений: 23
Как найти уникальное значение поля RptIndividualGroups.IndividualNdx(smallint, not null) из нескольких таблиц (cross/inner join) MSSQL 2005?

пример

SELECT RptIndividualGroups.TenantNdx, RptIndividualGroups.IndividualNdx, RptIndividualGroups.GroupNdx, RptIndividualGroups.Priority,
RptIndividualGroups.DoorScheduleNdx, GroupsView.GroupId, GroupsView.GroupName, GroupsView.TenantNdx AS Expr7,
RptIndividualGroups.TenantNdx AS Expr1, RptIndividualGroups.IndividualNdx AS Expr2, RptIndividualGroups.GroupNdx AS Expr3,
GroupsView.GroupId AS Expr4, GroupsView.GroupName AS Expr5, GroupsView.TenantNdx AS Expr6
FROM RptIndividualGroups INNER JOIN
GroupsView ON RptIndividualGroups.TenantNdx = GroupsView.TenantNdx AND RptIndividualGroups.GroupNdx = GroupsView.GroupId
ORDER BY RptIndividualGroups.IndividualNdx

Не получается применить функцию COUNT в данном случае с двумя таблицами....
2 июн 16, 13:54    [19250037]     Ответить | Цитировать Сообщить модератору
 Re: Найти уникальное значение поля тип smallint, not null из нескольких таблиц MSSQL 2005  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
alexxxfm,

ничего не понял, уникальное это count + distinct,
для соединения таблиц по горизонтали есть join, по вертикали есть union,
чего не получается?
2 июн 16, 13:59    [19250082]     Ответить | Цитировать Сообщить модератору
 Re: Найти уникальное значение поля тип smallint, not null из нескольких таблиц MSSQL 2005  [new]
alexxxfm
Member

Откуда:
Сообщений: 23
WarAnt,

Пример для RptIndividualGroups.IndividualNdx можете написать?
2 июн 16, 14:19    [19250232]     Ответить | Цитировать Сообщить модератору
 Re: Найти уникальное значение поля тип smallint, not null из нескольких таблиц MSSQL 2005  [new]
alexxxfm
Member

Откуда:
Сообщений: 23
WarAnt,

для условия
RptIndividualGroups INNER JOIN GroupsView ON RptIndividualGroups.TenantNdx = GroupsView.TenantNdx
AND RptIndividualGroups.GroupNdx = GroupsView.GroupId
2 июн 16, 14:22    [19250250]     Ответить | Цитировать Сообщить модератору
 Re: Найти уникальное значение поля тип smallint, not null из нескольких таблиц MSSQL 2005  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
alexxxfm
WarAnt,

Пример для RptIndividualGroups.IndividualNdx можете написать?


вы сначала оформите топик как в тут написано, а то пример чего надо непонятно ни разу.
2 июн 16, 14:25    [19250268]     Ответить | Цитировать Сообщить модератору
 Re: Найти уникальное значение поля тип smallint, not null из нескольких таблиц MSSQL 2005  [new]
alexxxfm
Member

Откуда:
Сообщений: 23
WarAnt,
SELECT RptIndividualGroups.TenantNdx,
RptIndividualGroups.IndividualNdx,
COUNT(RptIndividualGroups.GroupNdx) AS cnt_grp,
RptIndividuals.LastName,
RptIndividuals.FirstName,
RptIndividuals.TempStart,
RptIndividuals.TempStop,
RptIndividuals.Custom02

FROM RptIndividualGroups INNER JOIN
RptIndividuals ON RptIndividualGroups.TenantNdx = RptIndividuals.TenantNdx AND
RptIndividualGroups.IndividualNdx = RptIndividuals.IndividualNdx INNER JOIN
GroupsView ON RptIndividualGroups.GroupNdx = GroupsView.GroupId

WHERE (RptIndividuals.Custom02 LIKE '%бла%бла%')

GROUP BY RptIndividualGroups.TenantNdx,
RptIndividualGroups.IndividualNdx,
RptIndividuals.LastName,
RptIndividuals.FirstName, RptIndividuals.TempStart,
RptIndividuals.TempStop, RptIndividuals.Custom02

HAVING (COUNT(RptIndividualGroups.GroupNdx) = 1)
15 июн 16, 07:14    [19294153]     Ответить | Цитировать Сообщить модератору
 Re: Найти уникальное значение поля тип smallint, not null из нескольких таблиц MSSQL 2005  [new]
alexxxfm
Member

Откуда:
Сообщений: 23
получилось)
15 июн 16, 07:16    [19294155]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить