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

Откуда:
Сообщений: 30
Голову сломала.

Смотрите есть таблица линков

product category
prod1 cat1
prod2 cat2
prod3 cat3

и есть таблицы продуктов и категорий.

Мне нужно чтобы в выборку попали все продукты и прицепилась всего одна категория любая.



ни left join ни distinct ни order by не помогли
25 апр 14, 16:12    [15936703]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать join так чтобы в выборку попала всего одна запись связи  [new]
_human
Member

Откуда:
Сообщений: 569
Яна Мотолана,
readME
25 апр 14, 16:19    [15936752]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать join так чтобы в выборку попала всего одна запись связи  [new]
_human
Member

Откуда:
Сообщений: 569
Яна Мотолана
Мне нужно чтобы в выборку попали все продукты и прицепилась всего одна категория любая.

погорячился. был не прав

select [все  продукты].*, (select top 1 [имя] from категория order by (select null)) as [одна категория любая]
from [все  продукты]
25 апр 14, 16:26    [15936806]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать join так чтобы в выборку попала всего одна запись связи  [new]
transpose
Member

Откуда:
Сообщений: 188
Яна Мотолана,
я думаю так
select product.product_name, max(category.category_name) as some_category
from product
join link on product.id = link.product_id
join category on link.category_id = category.id
group by product.product_name
25 апр 14, 17:13    [15937184]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать join так чтобы в выборку попала всего одна запись связи  [new]
transpose
Member

Откуда:
Сообщений: 188
transpose
Яна Мотолана,
я думаю так
select product.product_name, max(category.category_name) as some_category
from product
join link on product.id = link.product_id
join category on link.category_id = category.id
group by product.product_name


А, у вас там нет ID!
тогда так

select product.product, max(category.category) as some_category
from product
join link on product.product= link.product
join category on link.category = category.category
group by product.product
25 апр 14, 17:16    [15937210]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить