Форум программистов, компьютерный форум, киберфорум
Наши страницы
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
 
SrgKord
45 / 27 / 2
Регистрация: 14.02.2013
Сообщений: 617
1

Как указать в запросе связь между строками двух таблиц?

02.01.2018, 06:41. Просмотров 251. Ответов 9
Метки нет (Все метки)

Как мне для строчки 19 указать, что номер должен браться из таблицы Supply_List, столбца SupplyID?

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
CREATE TABLE Supply_List -- Сущность "Расходка"
(
 SupplyID INT NOT NULL IDENTITY(1,1),
 SupPARTN VARCHAR (50) NOT NULL,
 SupNAIM VARCHAR(100) NULL,
 SupNOMEN VARCHAR(15) NULL,
 SupDESC text NULL,
 SupPRICE smallmoney NULL,
 SupTYPE VARCHAR(3) NOT NULL DEFAULT('10'), -- Supply_List.SupTYPE == SupplyType_Codes.TSupCODE
 SupCODE VARCHAR(15) NULL, -- хэш ((SupTYPE) + (SupVENDOR) + (SupPARTN)) 
 SupVENDOR VARCHAR(4) NOT NULL, -- Supply_List.SupVENDOR == Vendors_Codes.VenCODE
 SupSTAT VARCHAR(3) NOT NULL DEFAULT('10') -- Supply_List.StorSTAT == SupStat_Codes.SSupCODE
);
GO
 
CREATE TABLE Storage_List_Total -- Сущность "Склад Общий"
(
 StorageID INT NOT NULL IDENTITY(1,1),
 StorSID INT NOT NULL, -- Storage_List.StorSID == Supply_List.SupplyID
 StorBALAN INT NOT NULL 
);
GO
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2018, 06:41
Ответы с готовыми решениями:

Как вывести две колонки из двух разных таблиц в одном запросе?
Как вывести две колонки из двух разных таблиц в одном запросе, при этом колонки...

Связь двух таблиц
Доброго времени суток. Столкнулся с такой проблемой. Есть 2 таблицы: одна...

Связь двух таблиц
Доброго времени суток. Столкнулся с такой проблемой. Есть 2 таблицы: одна...

Связь 1 к 1, как это сделать в запросе SQL
Помогите, нужно создать связь в SQL 1 к 1, но ничего не выходит, а 1 ко многим...

Создать любые две таблицы, установить между ними связь, и с помощью запроса показать эту связь
Короче такое задание. Создать любые две таблицы, установить между ними связь и...

9
qwertehok
2325 / 2226 / 605
Регистрация: 29.08.2013
Сообщений: 14,903
02.01.2018, 07:24 2
а зачем при создании таблицы это указывать?
0
SrgKord
45 / 27 / 2
Регистрация: 14.02.2013
Сообщений: 617
02.01.2018, 08:13  [ТС] 3
Цитата Сообщение от qwertehok Посмотреть сообщение
а зачем при создании таблицы это указывать?
Ну не знаю, первый раз базу делаю, не знаю, как правильно сделать.
Изначально планировал в коде программы закидывать данные в нужные столбцы. Потом мне показалось, что можно сделать иначе.
Вот объясните, технически, связь между таблицами реализуется на уровне базы или на уровне, управляющего ею кода?
0
qwertehok
2325 / 2226 / 605
Регистрация: 29.08.2013
Сообщений: 14,903
02.01.2018, 08:32 4
я делаю кодом, мне так удобнее
но никто не запрещал делать на уровне базы указывая связи руками при создании таблиц
0
SrgKord
45 / 27 / 2
Регистрация: 14.02.2013
Сообщений: 617
03.01.2018, 03:20  [ТС] 5
Цитата Сообщение от qwertehok Посмотреть сообщение
но никто не запрещал делать на уровне базы указывая связи руками при создании таблиц
Вот, а как это указать?
Я знаю, что для этого потребуется указывать внешний ключ. Это в общих чертах понятно. Но как конкретно сделать, не соображу. Т.е. чтобы как в моём примере было: StorSID таблицы Storage_List_Total берётся из SupplyID таблицы Supply_List, связь в данном случае один к одному.
0
pincet
1335 / 921 / 125
Регистрация: 23.07.2010
Сообщений: 5,033
03.01.2018, 08:44 6
благородному дону стоит изучить предложение JOIN
0
SrgKord
45 / 27 / 2
Регистрация: 14.02.2013
Сообщений: 617
04.01.2018, 03:46  [ТС] 7
Цитата Сообщение от pincet Посмотреть сообщение
благородному дону стоит изучить предложение JOIN
Это мы о создании представления говорим? Это-то я тоже знаю, что можно какое угодно представление создать. А вот, ну как объяснить-то, ну физически, что ли, на уровне таблиц, это делается? Вот как в ацессе - создал две таблицы, и связал поле одной с первичным ключем другой. Или в ацессе это тоже лишь имитация?
0
Grossmeister
Модератор
3425 / 2474 / 424
Регистрация: 21.01.2011
Сообщений: 10,855
04.01.2018, 09:33 8
Цитата Сообщение от SrgKord
Вот как в ацессе - создал две таблицы, и связал поле одной с первичным ключем другой
Для начала разберись, зачем в БД создаются constraints, в частности связи PK-FK. Когда известна цель, тогда проще принимать решение, нужно это или нет.
0
pincet
1335 / 921 / 125
Регистрация: 23.07.2010
Сообщений: 5,033
04.01.2018, 12:18 9
Цитата Сообщение от SrgKord Посмотреть сообщение
Или в ацессе это тоже лишь имитация?
ясно-понятно это нужно исключительно для составления графического представления схемы данных. (ну и не забываем про ссылочную целостность)
0
SrgKord
45 / 27 / 2
Регистрация: 14.02.2013
Сообщений: 617
04.01.2018, 17:55  [ТС] 10
Grossmeister, pincet, qwertehok, ладно, я всё понял, всех благодарю за разжевывание
0
04.01.2018, 17:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2018, 17:55

Как мне правильно реализовать связь между таблицами
Имеются такая вот схема данных, точнее ее часть (смотрите во вложениях) Не...

Связь таблиц
Имею 3 таблицы в одной из них 3 внешних ключа указывающие на разные первичные...

Связь таблиц
Привет! Обьясните пжлста как реализовать связь таблиц в SQL Management Stduo,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru