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

Откуда:
Сообщений: 55
Подскажите, что-то ни как не соображу.

У меня есть две таблицы
photoalbum
- id
- name

И есть дочерняя таблица связанная по схеме один ко многим
photo
-id
-photoalbumId (вторичный ключ)
- img
- description

Можно ли одним запросом получить список всех фотоальбомов, чтобы в каждой записи было по одной фотографии любой (поля img, description из таблицы photo)?

Пример:

photoalbum
1 fist_album
2 second_album

photo
1 1 http://qq.ru/img1.jpg 1_descr
2 1 http://qq.ru/img2.jpg 2_descr
3 1 http://qq.ru/img3.jpg 3_descr
4 2 http://qq.ru/img4.jpg 4_descr
5 2 http://qq.ru/img5.jpg 5_descr
6 3 http://qq.ru/img6.jpg 6_descr

После выполнения запроса хочу получить:
1 fist_album http://qq.ru/img1.jpg 1_descr
2 second_album http://qq.ru/img4.jpg 4_descr




--
С уважением,
Сергей
9 фев 20, 21:01    [22076366]     Ответить | Цитировать Сообщить модератору
 Re: Все поля из мастер таблицы и нужные поля и детальной таблицы  [new]
PizzaPizza
Member

Откуда:
Сообщений: 308
например
из photo выбираете id по top 1 photoalbumId и джойните все по нему

Сообщение было отредактировано: 9 фев 20, 21:16
9 фев 20, 21:15    [22076370]     Ответить | Цитировать Сообщить модератору
 Re: Все поля из мастер таблицы и нужные поля и детальной таблицы  [new]
Sergey A.
Member

Откуда:
Сообщений: 55
PizzaPizza
и джойните все по нему


Как джойнить по таблице - умею, а как по запросу?
9 фев 20, 22:14    [22076391]     Ответить | Цитировать Сообщить модератору
 Re: Все поля из мастер таблицы и нужные поля и детальной таблицы  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33087
Блог
Sergey A.,

Ровно так же, только таблица заменяется на запрос в скобочках ()
9 фев 20, 22:16    [22076394]     Ответить | Цитировать Сообщить модератору
 Re: Все поля из мастер таблицы и нужные поля и детальной таблицы  [new]
Sergey A.
Member

Откуда:
Сообщений: 55
Если вот так - то, естественно выводится только одна запись. А мне нужны все альбомы

SELECT a.*, pt.img, pt.description FROM photoalbum a join
(SELECT TOP 1 p.img, p.description, p.photoalbumId
FROM photos p) as pt ON a.id = pt.photoalbumId


Сообщение было отредактировано: 9 фев 20, 22:21
9 фев 20, 22:20    [22076395]     Ответить | Цитировать Сообщить модератору
 Re: Все поля из мастер таблицы и нужные поля и детальной таблицы  [new]
londinium
Member

Откуда: Киев
Сообщений: 1131
автор
photoalbum
- id
- name

И есть дочерняя таблица связанная по схеме один ко многим
photo
-id
-photoalbumId (вторичный ключ)
- img
- description


SELECT P.ID,P.NAME,A.IMG,A.DESCRIPTION
FROM photoalbum AS P
CROSS APPLY
(
  SELECT TOP 1 PH.IMG,PH.DESCRIPTION
    FROM photo AS PH
     WHERE P.ID=PH.photoalbumId
)AS A
9 фев 20, 22:43    [22076400]     Ответить | Цитировать Сообщить модератору
 Re: Все поля из мастер таблицы и нужные поля и детальной таблицы  [new]
Sergey A.
Member

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

Спасибо большое! Так работает!
9 фев 20, 23:43    [22076418]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить