Abdalla Ben Omran Ответов: 1

Как установить соединение между двумя таблицами или более, если между ними нет никакой связи ?


Я пытаюсь написать запрос SQL Server, который должен выполнять соединение между двумя таблицами

первая таблица называется Config_User и имеет для Ex UserName, PrinterA4 столбца
вторая таблица называется BranchDate и имеет столбец описания .

между двумя таблицами нет никакой связи, но я должен найти эту связь и сделать соединение между ними, так что моя основная информация о SQL до сих пор .

я буду очень рад получить объяснение по этому поводу

Что я уже пробовал:

SELECT UserID,UserName,PrintA4
FROM Config_User
 JOIN BranchDate 
ON Config_User.UserName = BranchDate .AnsprechpartnerName

1 Ответов

Рейтинг:
8

OriginalGriff

Если нет никаких отношений, то вы не можете присоединиться к таблицам, потому что нет "общей почвы", чтобы присоединиться к ним.

Подумайте об этом: что "связывает" имя пользователя или "столбец принтера" с "датой филиала" или "описанием" в реальном мире?
Существует "связь" между моим именем пользователя "OriginalGriff" и "24 февраля", но она не прямая: Я, Пол Гриффин, являюсь человеком, который использует имя пользователя OriginalGriff, и я родился 24 февраля - но это не значит, что вы можете присоединиться к таблицам процессоров и дней рождения вместе, не проходя через таблицу "RealWorldPeople" и не используя мой адрес электронной почты для входа в систему, чтобы соединить их.

Если вы хотите объединить две таблицы, вам необходимо иметь связь между ними, так же как таблица счетов-фактур может быть присоединена к таблице InvoiceLines для создания каждого фактического счета-фактуры:

SELECT i.Customer, i.InvoiceDate, il.Item, il.Quantity
FROM Invoices i
JOIN InvoiceLines il 
  ON i.ID = il.InvoiceID
WHERE i.InvoiceNumber = 12345


[no name]

Я благодарю вас, как всегда, за ваш ответ и помощь .. я только что обнаружил, что есть еще одна таблица, которая называется BranchID и имеет два столбца под названием BranchID и UserID. Я думаю, что между этими тремя таблицами есть связь . Итак, теперь вопрос, как я мог бы найти relaition или сделать join между 3 таблицами ?
и Config_User есть (идентификатор пользователя) coulum и в BranchDate есть колонка (BranchID).

OriginalGriff

ВЫБИРАТЬ...
От Config_User cu
Присоединяйтесь к BranchID bid ON bid.Идентификатор пользователя = КР.ID пользователя
Присоединяйтесь к BranchDate bd на bd.BranchID = bid.BranchID
...

[no name]

Я вам очень благодарен

OriginalGriff

Всегда пожалуйста!

[no name]

привет еще раз,
этот запрос здесь :

выберите имя пользователя, DruckerA4

из Config_User c
Присоединяйтесь Filiale_User F на Ф.Идентификатор пользователя= гр.ID пользователя

дает мне имена и DruckerA4, который на английском языке PrinterA4
каждая вещь хорошо до сих пор, но :

из таблицы Filialdaten, которая находится на английском BranchDate, мне нужно получить столбец (Beschreibung) С. поскольку я все еще новичок в SQL, я все еще в замешательстве . ваше объяснение всегда очень полезно для меня .

OriginalGriff

Извините, но это не имеет никакого смысла!
Какой запрос вы пробовали, и что он дал по сравнению с тем, что вы ожидали?

[no name]

Запрос требуется выполнить следующим образом :
Напишите SQL-запрос, который выбирает UserName, DruckerA4 из таблицы Config_User и Coulmn из Beschreibung из таблицы Filialdaten в качестве вывода, эти 2 таблицы должны быть объединены .

я хочу в результате Имя пользователя, DruckerA4 и Beschreibung вместе !
то, что вы мне дали, это следующее :

Выберите имя пользователя, DruckerA4
От Config_User cu
Присоединяйтесь к Filiale_User bid ON bid.Идентификатор пользователя = КР.ID пользователя
Присоединяйтесь к Filialdaten bd на bd.FilialID = bid.FilialID
и это дает мне имена пользователей с DruckerA4, но я хочу получить колонку Beschreibung с .but should be an relationship or how ?

OriginalGriff

Вы присоединились к таблице, но вы не просили ее выбрать какие-либо столбцы из нее!
Посмотрите на свой список избранных - вы поймете, что я имею в виду!

[no name]

Эй, пол, я получил твой первый комментарий .. я перечитывал его снова и снова, пока не понял очень хорошо. извините, если я начинаю задавать такие вопросы, но я всегда и всегда благодарю вас за вашу помощь и объяснение... на самом деле soultion был из вашего первого комментария .в следующий раз я должен читать более внимательно

OriginalGriff

Всегда пожалуйста!