SQL Два внешних ключа, связанных с одним первичным ключом другой таблицы, чтобы извлечь поле из этой таблицы

#sql

#sql

Вопрос:

Название вопроса, вероятно, сбивает с толку, поэтому я попытаюсь прояснить это.

У меня есть два столбца в таблице. Состояние и местоположение. У меня есть два внешних ключа в таблице. Уведомление.fkState и уведомление.fkLocality. Они оба связаны с первичным ключом другой таблицы. Расположение.pkLocation Я хочу, чтобы ПСЕВДОНИМЫ состояния и местоположения совпадали с местоположением.Имя из таблицы Location в соответствии со значением внешнего ключа связало первичный ключ pkLocation.

Есть ли оператор типа

SELECT Location.Name(WHERE Notification.fkState=Location.pkLocation) AS State, Location.Name(WHERE Notification.fkLocality=Location.pkLocation) AS Locality FROM Notification INNER JOIN Locality ON Notification.fkState=Location.pkLocation AND Notification.fkLocality=Location.pkLocation

Мой И в настоящее время является ИЛИ, потому что, когда это AND…it ничего не отображает.

Любая помощь?

Комментарии:

1. Вы пропустили часть запроса? Извините, или вы когда-нибудь писали SQL раньше?

2. Я все это выписал, я просто не стал делиться всем этим.

Ответ №1:

 SELECT S.Name AS Locality, N.Name AS State
From Notification N
Inner Join Location S on N.fkstate=S.pkLocation
Inner Join Location L on  N.fkLocality=L.pkLocation
  

Комментарии:

1. Но мне нужно иметь псевдонимы для состояния и местоположения в инструкции if Location. Тип=1 это состояние, и если местоположение. Тип=2 это локальность

2. Есть ли у вас какой-либо столбец состояния в какой-либо таблице?

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

4. Но он должен иметь возможность различать местоположение. Тип = 1 — это столбец состояния, или Тип = 2 — это местоположение

5. Пожалуйста, отправьте схему вашей таблицы и обновите ее в вашем вопросе