Обязательно ли для таблиц быть применимыми к Присоединение к ним? Если да, то выполните с примером Если нет, то выполните анализ с примером .. СпасибоОбязательно ли для таблиц быть применимыми к Присоединению к ним?
ответ
Совсем нет для sql-Server
. Таблицы не нуждаются в привязке к ключам, чтобы они соединялись друг с другом.
Вот пример:
SELECT * FROM
Table1 INNER JOIN Table2 ON Table1.Id = Table2.Id
колонок Id table1 не нуждается быть ключом к колонку ид TABLE2 для этого к выполненным.
В MS SQL Server? Нет, таблицы не должны иметь никакого формального отношения для использования в любом типе соединения.
Поскольку вы просите пример, рассмотрите таблицу Numbers или Tally. Это в основном таблица с одним столбцом, который имеет все большее число, поскольку это значение. (То есть первая строка 1, вторая строка 2, и т.д.) Это полезно для большого количества вычислений, в том числе дата генерации диапазонов, таких как все дни кто едет:
-- Assume a table "Numbers exists with one column, "num":
CREATE TABLE [dbo].[Numbers](
[Num] [int] IDENTITY(1,1) NOT NULL,
CONSTRAINT [PK_Numbers] PRIMARY KEY CLUSTERED
(
[Num] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
) ON [PRIMARY]
Мы можем затем использовать это, соединяющий его с совершенно несвязанной таблицей, имеющей диапазоны дат. Мы хотим, чтобы перечислить все даты в пределах любого диапазона дат:
if OBJECT_ID('tempdb..#source') is not null drop table #source
go
create table #source(
id int,
startdate date,
enddate date
)
go
insert into #source values (1, '2013-12-28', '2014-01-12')
insert into #source values (1, '2014-01-10', '2014-01-22')
insert into #source values (2, '2014-12-22', null)
insert into #source values (2, '2014-12-01', '2015-01-10')
go
-- */
declare @earlydate date, @latedate date
-- Start and end dates of the range we're trying to evaluate within
set @earlydate = '2014-01-01'
set @latedate = '2014-12-31'
;with fixed as (
select
id,
(select max (start_date) from (values (#source.startdate), (@earlydate)) as sd(start_date)) as startdate, -- calculate the LATER of the start dates
(select min (end_date) from (values (coalesce(enddate, cast(CURRENT_TIMESTAMP as date))), (@latedate)) as ed(end_date)) as enddate -- calculate the EARLIER of the end dates
from #source
)
select
id,
DateAdd(dd, num-1, startdate)
from fixed
cross apply Numbers
where DateAdd(dd, num, startdate) between startdate and dateadd(dd, 1, enddate)
order by 1,2
Нет, это не является обязательным для двух таблиц, чтобы быть в отношениях, чтобы применить присоединиться на них.
Когда вы думаете о слове «Присоединиться» в своем уме, вы на самом деле приближаете две вещи ближе к какой-то общей земле, слою, интерфейсу и т. Д. Поэтому, если ваши две таблицы имеют значение общей строки, вы можете это общее значения/значения для объединения этих двух таблиц. Итак, скажем, у вас есть таблица A, B. A имеют три (или ничего) столбца a1, a2, a3. Аналогично, B имеет 5 (или что-либо) количество столбцов. Если любой из столбцов в A имеет такое же значение, как любой столбец в B в любой строке, вы можете использовать это общее значение для соединения. Пример: выберите название столбца из левого соединения (или внешнего или внутреннего) B на A.column = B.column
Отношения - более конкретный случай намеренного приведения значений, общих для двух таблиц. Пример: внешний ключ, первичный ключ. Вы вынуждаете таблицу, содержащую внешний ключ, иметь те же значения, что и таблица с первичным ключом.
- 1. Являются ли аннотации применимыми к подклассам?
- 2. Один из к DropDownLists должен быть обязательно
- 3. "Доступ к присоединению запрещен" LinkedIn-J андроид
- 4. MYSQL UPDATE, Присоединившись к правильному присоединению
- 5. Обязательно ли присоединиться к отдельной теме?
- 6. Являются ли регулярные выражения применимыми только к строкам?
- 7. Являются ли объектно-ориентированные понятия применимыми к языку C?
- 8. Обязательно для доступа к нестационарному члену
- 9. Требования к приложению HTML5 обязательно
- 10. есть ли способ присоединиться к ним?
- 11. SQL-запрос help - альтернатива присоединению
- 12. MySQL альтернатива подзапросам/присоединению
- 13. boost thread, test, если поток готов к присоединению
- 14. Как сделать внешние банки java-приложений применимыми к его плагинам
- 15. Как просматривать веб-сайт только с носителями, применимыми к печати?
- 16. Методы организации для лучшего доступа к ним
- 17. являются операторами преобразования, применимыми только к числовым типам .net
- 18. Доступ к скриптам для таблиц
- 19. Диаграммы ER: один (необязательно) к одному (обязательно)?
- 20. Вопросы простого класса по присоединению
- 21. Присоединение к двум NodeLists по-обязательно
- 22. MySql сортировать по присоединению?
- 23. Что должно быть обязательно для createBlock
- 24. Excel Несколько таблиц для доступа к таблицам
- 25. Обязательно ли chef_type для узла?
- 26. Обязательно ли «sonar.jdbc.url»?
- 27. Запросить страницу Требуется запись, обязательно к №
- 28. Доступ к BigQuery для новых таблиц Google
- 29. Являются ли зарезервированные AWS экземпляры EC2 применимыми к экземплярам свободного рынка?
- 30. PHP и Java, как присоединиться к ним?
В логическом смысле да, потому что тогда результат не имеет никакого смысла, если вы просто присоединитесь к двум вещам, которые не имеют ничего общего друг с другом, но нет требования иметь внешние ключи или что-то подобное для присоединения , –
Не проще попробовать, чем задать вопрос? Ну ... для этого вопроса наверное нет ... –