Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / помогите составить запрос к таблицам.... / 23 сообщений из 23, страница 1 из 1
09.01.2018, 16:32
    #39581160
Anatoliy S.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
Помогите составить запрос чтоб по фамилии выводились бы связанные двери.

поиск по фамилии Марсов.
запись "Марсов" в таблице person имеет уникальный идентификатор person.personID=3
запись "Х10" таблице door имеет уникальный идентификатор door.doorID=3
связи в таблице person_door по идентификатору 3 (Марсов) есть две связи с PersonID_DoorID.doorID 5 (Х12) и PersonID_DoorID.doorID 7(Х14)

Код: sql
1.
2.
3.
результат нужен в таком виде: 
Марсов  Х12
Марсов Х14





Пробывал так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT s.name_room, c.shortFIO 
FROM door s 
 JOIN PersonID_DoorID sc ON s.doorID = sc.personID
 JOIN person c ON sc.personID = c.personID
WHERE c.shortFIO = 'Марсов'
 
Мне выдается результат:
ХЦ10    Марсов
ХЦ10    Марсов
 


То есть как я понимаю это просто "декартовый выбор" третья строка в таблицы person соединилась с третьей строкой таблице door. по двум джоинам, вот и две строки в результате.



Структуру прилагаю в диаграмме.
описание:

name_room поле с именем помещения в таблице door
shortFIO поле с фамилией в таблице person
таблица связей PersonID_DoorID





С Уважением Анатолий С.
...
Рейтинг: 0 / 0
09.01.2018, 16:35
    #39581163
xenix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
Anatoliy S.,

автор JOIN PersonID_DoorID sc ON s.doorID = sc.personID

уверен?
...
Рейтинг: 0 / 0
09.01.2018, 16:39
    #39581167
WarAnt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
Anatoliy S.,

Код: sql
1.
2.
3.
4.
5.
SELECT s.name_room, c.shortFIO 
FROM door s 
 JOIN PersonID_DoorID sc ON s.doorID = sc.doorID
 JOIN person c ON sc.personID = c.personID
WHERE c.shortFIO = 'Марсов'
...
Рейтинг: 0 / 0
09.01.2018, 17:38
    #39581197
Goga-Gola
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
Anatoliy S.,

Крузенштерн - человек и дверь !
...
Рейтинг: 0 / 0
10.01.2018, 07:59
    #39581438
Anatoliy S.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
авторWarAnt

Преогромнейшее спасибо за помощь.
...
Рейтинг: 0 / 0
17.01.2018, 15:21
    #39585889
Anatoliy S.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
WarAntAnatoliy S.,

Код: sql
1.
2.
3.
4.
5.
SELECT s.name_room, c.shortFIO 
FROM door s 
 JOIN PersonID_DoorID sc ON s.doorID = sc.doorID
 JOIN person c ON sc.personID = c.personID
WHERE c.shortFIO = 'Марсов'



Помогите пожалуйста описать запрос словами.
не совсем понимаю что с какой таблицей из 3х.
точки это "переменная"
...
Рейтинг: 0 / 0
17.01.2018, 15:29
    #39585901
Tactical Nuclear Penguin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
то двери, то точки...
какие точки??
...
Рейтинг: 0 / 0
17.01.2018, 15:32
    #39585905
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
Anatoliy S.,

авторточки это "переменная"
Незнание — сила ну и т.д.
...
Рейтинг: 0 / 0
17.01.2018, 16:13
    #39585933
xenix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
Anatoliy S.,
я бы не сказал, что "точки это "переменная" "
Обращение к столбцам таблицы идет виде [имя таблицы].[имя столбца]
...
Рейтинг: 0 / 0
17.01.2018, 21:04
    #39586081
Anatoliy S.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
xenix,
Tactical Nuclear Penguin,
TaPaK,

офф топик.
...
Рейтинг: 0 / 0
18.01.2018, 08:42
    #39586194
Anatoliy S.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
Код: sql
1.
2.
3.
4.
5.
SELECT s.name_room, c.shortFIO 
FROM door s 
 JOIN PersonID_DoorID sc ON s.doorID = sc.doorID
 JOIN person c ON sc.personID = c.personID
WHERE c.shortFIO = 'Марсов'



Помогите кто действительно может прочесть запрос и логически понимает написанное уважаемым WarAnt

Еще не понятно вот:
s.name_room, c.shortFIO обозначение "s" и "c" перед полями это типа псевдонимов? для того чтоб дальше писать короче а не полностью названия?
...
Рейтинг: 0 / 0
18.01.2018, 08:48
    #39586195
Кусочек
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
Anatoliy S.
Код: sql
1.
2.
3.
4.
5.
SELECT s.name_room, c.shortFIO 
FROM door s 
 JOIN PersonID_DoorID sc ON s.doorID = sc.doorID
 JOIN person c ON sc.personID = c.personID
WHERE c.shortFIO = 'Марсов'



Помогите кто действительно может прочесть запрос и логически понимает написанное уважаемым WarAnt

Еще не понятно вот:
s.name_room, c.shortFIO обозначение "s" и "c" перед полями это типа псевдонимов ? для того чтоб дальше писать короче а не полностью названия?

Не типа, а псевдоним.

Общие рекомендации всегда использовать псевдонимы, они не только позволяют сократить текст запроса и сделать его более читаемым, но и позволяют в одном запросе многократно обращаться к одному и тому же объекту (таблице, представлению и т.д.).

Это далеко не полный ответ на Ваш вопрос зачем.
...
Рейтинг: 0 / 0
18.01.2018, 09:09
    #39586202
помогите составить запрос к таблицам....
Anatoliy S. Помогите кто действительно может прочесть запрос и логически понимает написанное уважаемым это такая форма глума? ты прикалываешься, или реально не понимаешь, что делает запрос?
...
Рейтинг: 0 / 0
18.01.2018, 09:10
    #39586205
Anatoliy S.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
не получается сделать запрос по аналогии:

select ip_adress.ip_adres, skd_devices.skd_device
from ip_adress
JOIN ip_skd ON ip_skd.ip_adressID = ip_adress.ip_adressID
JOIN skd_devices ON [skd_deviceID] = ip_skd.skd_deviceID
WHERE ip_adres = '1.0.0.3'

найти устройство "skd_device" из таблицы "skd_devices" по IP адресу из таблицы ip_adress. Связующая таблица "ip_skd"

...
Рейтинг: 0 / 0
18.01.2018, 09:12
    #39586208
Anatoliy S.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
Добрый Э - Эх,

понимаю в общем (построчно понимаю думаю, а вот полностью думаю нет). но видать не настолько чтоб на основе создать другой
...
Рейтинг: 0 / 0
18.01.2018, 10:08
    #39586243
xenix
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
Anatoliy S.,
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select ip_adress.ip_adres, skd_devices.skd_device
from ip_adress
JOIN ip_skd ON ip_skd.ip_adressID = ip_adress.ip_adressID
JOIN skd_devices ON [skd_deviceID] = ip_skd.skd_deviceID
WHERE ip_adres = '1.0.0.3'

SELECT ADR.ip_adres,SKD.skd_device
FROM ip_adress ADR
JOIN ip_skd SKD ON ADR.ip_adressID=SKD.ip_adressID
JOIN skd_devices DEV ON DEV.skd_deviceID=SKD.skd_deviceID
WHERE ADR. ip_adres = '1.0.0.3'
...
Рейтинг: 0 / 0
18.01.2018, 11:08
    #39586300
Anatoliy S.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
xenix,

Код: sql
1.
2.
3.
4.
5.
SELECT ADR.ip_adres,SKD.skd_device
FROM ip_adress ADR
JOIN ip_skd SKD ON ADR.ip_adressID=SKD.ip_adressID
JOIN skd_devices DEV ON DEV.skd_deviceID=SKD.skd_deviceID
WHERE ADR. ip_adres = '1.0.0.3'


авторСообщение 207, уровень 16, состояние 1, строка 1
Недопустимое имя столбца "skd_device".

не удается выполнить привязку составного идентификатора DEV.skd_deviceID
...
Рейтинг: 0 / 0
18.01.2018, 11:16
    #39586307
Руслан Дамирович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
Anatoliy S.,

Молодой человек, шли бы вы отсюда книжки почитали.
Возвращайтесь, когда реальные вопросы возникнут, а не то, что можно прочитать на первых ста страницах любой книжки "SQL для чайников".
...
Рейтинг: 0 / 0
18.01.2018, 12:30
    #39586355
Anatoliy S.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
Руслан Дамирович,

вы конечно наверно прочитали больше ста листов. И допускаю что знаете ответ или решили б задачу сами похожую.
Не тратьте свое время на пустые ответы. Нет желания помочь, проходите молча.
...
Рейтинг: 0 / 0
18.01.2018, 13:21
    #39586392
Anatoliy S.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
авторxenix,

Код: sql
1.
2.
3.
4.
5.
SELECT ADR.ip_adres,DEV.skd_device
FROM ip_adress ADR
JOIN ip_skd SKD ON ADR.ip_adressID=SKD.ip_adressID
JOIN skd_devices DEV ON DEV.skd_deviceID=SKD.skd_deviceID
WHERE ADR. ip_adres = '1.0.0.3'



Огромное спасибо.
Поправил псевдоним SKD на DEV
заработал.
...
Рейтинг: 0 / 0
18.01.2018, 13:37
    #39586409
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
Anatoliy S.WarAntAnatoliy S.,

Код: sql
1.
2.
3.
4.
5.
SELECT s.name_room, c.shortFIO 
FROM door s 
 JOIN PersonID_DoorID sc ON s.doorID = sc.doorID
 JOIN person c ON sc.personID = c.personID
WHERE c.shortFIO = 'Марсов'



Помогите пожалуйста описать запрос словами.
не совсем понимаю что с какой таблицей из 3х.
точки это "переменная"

1. напишите мне запрос
2. опишит словами, что вы там понаписывали
...
Рейтинг: 0 / 0
18.01.2018, 14:31
    #39586453
Anatoliy S.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
Ролг Хупин,

а почему бы и не описать словами.
Не в каждом учебнике или книге найдешь хорошим стилем описание по JOIN с тремя таблицами. В основном пример с двумя таблицами.

IMHO.
Специалисту не должно быть проблемно написать и описать что написал.

Если нет желания то можно пройти мимо без комментариев.
Посылать читать книги спросившего или просить уходить из форума могут обозленные без совестные людишки.
У каждого свои проблемы и дела.
Форум и создан чтоб спросить и получить ответ. Обучение и чтение в другом месте.

Закрываем демагогию, не флудим.
...
Рейтинг: 0 / 0
18.01.2018, 15:32
    #39586506
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите составить запрос к таблицам....
Модератор: Anatoliy S.,

Уважаемый Anatoliy S. Еще одно выступление в подобном стиле, и я закрою вашу тему, а вас отправлю отдыхать на недельку другую в бан.

Уважаемые отвечающие,

В демагогию лучше не вступайте. Заодно узнаем, кто захочет автору помогать после его поучений.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / помогите составить запрос к таблицам.... / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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