У меня есть две таблицы ( TableA ; TableB ), и мне нужно получить информацию о поиске из TableB, поскольку она относится к записи в TableA.
TableA содержит следующее:
Unique_ID ( Уникальный идентификатор, применяемый к каждой записи в этих базах данных e)
STATE_CODE ( Сокращение состояния, которое являетсяиспользуется в качестве информации в записи: запись может иметь только одно выбранное состояние, но одно и то же состояние может применяться к нескольким записям )
TableB содержит следующее:
STATE_CODE
STATE_NAME
Итак, давайте предположим, что это выглядит так:
Таблица A :
| Unique_ID | STATE_CODE |
+-----------+------------+
| 1 | TX |
| 2 | GA |
| 3 | TX |
| 4 | MS |
TableB будет выглядеть следующим образом:
| STATE_CODE | STATE_NAME |
+------------+-------------+
| TX | Texas |
| GA | Georgia |
| MS | Mississippi |
Мне нужно, чтобы мой оператор select извлекал STATE_NAME (например, "Texas") из TableB на основе STATE_CODE, который применяется к Unique_ID в TableA.
Я знаю, что мне нужно связать STATE_CODE с Unique_ID, а затем STATE_NAME с этим конкретным STATE_COD. Э, но у меня проблемы с моим заявлением. Это тянет название штата, но повторяет его снова и снова в результатах, иначе: Техас; Техас; Техас. Я думаю, что это повторяется один раз каждый раз, когда отдельная запись (Unique_ID) была отредактирована / обновлена. Как сделать так, чтобы он отображался только один раз?
Мой оператор SQL довольно прост, потому что я пишу и запускаю его через графический интерфейс базы данных, а не что-то вроде SSMS или MySQL. Так что куча JOIN и WHERE не работают через GUI.
SELECT STATE_NAME
from dbo.TableB b
, dbo.TableA a
where b.STATE_CODE = a.STATE_CODE
and a.Unique_ID = {Unique_ID}
Я ожидаю, что на выходе будет просто сказать "Техас", а вместо этого будет написано "Техас; Техас; Техас"
Я из Техаса, и даже не хочу повторять это снова и снова.