powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите составить sql запрос на выборку из нескольких таблиц
9 сообщений из 9, страница 1 из 1
Помогите составить sql запрос на выборку из нескольких таблиц
    #32413569
Привет,

есть 3 таблицы: persons (поля PersonID, Name), stories (StoryID, Caption) и rel-ps (PersonID, StoryID).

Таблица rel-ps отвечает за отношение многие-ко-многим между person и story.

Собственно, как составить запрос для данного PersonID (пусть в запросе это будет pid), чтобы в выборке получить:
pid, storyID, caption и bool
Где, storyID - все истории,
caption, соответственно их заголовки,
а bool - связана ли каждая история с данным pid.

Помогите, пожалуйста.
Спасибо
...
Рейтинг: 0 / 0
Помогите составить sql запрос на выборку из нескольких таблиц
    #32413663
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Желательно читать правила http://sql.ru/forum/rules.aspx

ADP or MDB?
...
Рейтинг: 0 / 0
Помогите составить sql запрос на выборку из нескольких таблиц
    #32413670
MDB, я не могу составить условие на проверку наличия связи между PersonID и StoryID в таблице rel-ps.
...
Рейтинг: 0 / 0
Помогите составить sql запрос на выборку из нескольких таблиц
    #32413681
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для MDB не подскажу, т.к. не работаю с ним уже года 4.
Могу дать код на T-SQL

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
declare @pid int
set @pid= 1 

select @pid as pid, stories.StoryID, stories.Caption, 
	case
	when s.StoryID is null then 'Не связана'
	else 'Не связана'
	end as bool
from stories
left outer join (select StoryID from rel-ps where PersonID=@pid) s
on s.StoryID=stories.StoryID


Не проверял, но на первый взгляд должно работать
...
Рейтинг: 0 / 0
Помогите составить sql запрос на выборку из нескольких таблиц
    #32413736
Erika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может так (если вопрос поняла правильно)

Код: plaintext
1.
2.
3.
4.
SELECT persons.PersonID, stories.StoryID, stories.Caption, 
IIf( persons.PersonID Is Not Null,True,False) AS bool
FROM stories LEFT JOIN 
(persons RIGHT JOIN rel_ps ON persons.PersonID = rel_ps.PersonID) 
ON stories.StoryID = rel_ps.StoryID;
...
Рейтинг: 0 / 0
Помогите составить sql запрос на выборку из нескольких таблиц
    #32413789
2 incold:
не совсем понял как работает ваш запрос :( применить не получилось (знания sql очень поверхностны)

2 Erika:
мне необходимо получить список всех историй +булево поле, которое будет указывать, связана ли эта история с конкретным PersonID
...
Рейтинг: 0 / 0
Помогите составить sql запрос на выборку из нескольких таблиц
    #32413809
После долгих мучений, я родил вот такой запрос:
Код: plaintext
1.
2.
3.
4.
SELECT persons.Name, stories.StoryID, stories.Caption, persons.PersonID,
     (SELECT COUNT (*)  FROM [rel-ps] 
      WHERE ([rel-ps].StoryID=stories.StoryID) AND ([rel-ps].PersonID=pid) ) AS B
FROM stories, persons WHERE (((persons.PersonID)=pid));


Где pid -- интересующий меня PersonID

Есть подозрение, что он очень корявый :(
...
Рейтинг: 0 / 0
Помогите составить sql запрос на выборку из нескольких таблиц
    #32414010
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соловьев Максим ,
Да нет, нормальный запрос. Я б тоже так сделал.
...
Рейтинг: 0 / 0
Помогите составить sql запрос на выборку из нескольких таблиц
    #32414467
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
SELECT t.*, IIf(IsNull(t1.PersonID), "False" , "True" ) AS Status
FROM [select *  from persons ,stories ]. AS t 
LEFT JOIN rel_ps AS t1 ON (t.PersonID=t1.PersonID) 
AND (t.StoryID=t1.StoryID);
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите составить sql запрос на выборку из нескольких таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]