Один дочерний атрибут (внешний ключ) хранит данные из двух столбцов из одной таблицы - PullRequest
0 голосов
/ 01 марта 2019

Я анализирую некоторые CSV-файлы здесь и на их основе я пытаюсь создать структуру БД, но, очевидно, один столбец из таблицы2 содержит данные из двух разных столбцов из таблицы1.Может кто-нибудь помочь мне, как я могу воссоздать ту же логику в SQL?

Я пытался:

CREATE TABLE table1
(
     field1 varchar(4),
     field2 varchat(5),

     PRIMARY KEY(field1, field2)
);

CREATE TABLE table2
(
      field3 varchar(5) REFERENCES table1(field1, field2)
)

Это не сработало.Есть идеи?

Спасибо

1 Ответ

0 голосов
/ 01 марта 2019

Если я правильно помню, в таблице может быть только один первичный ключ;Что если вы сделали два отдельных внутренних соединения в таблице 2 с таблицей 1 для разделения двух концепций, а затем соединили две новые таблицы, чтобы соответствующим образом выделить концепции в таблице 2?

Примерно так:

Select Field3 
into #tmpkeyA 
from table2 
inner join table 1 on field3 = field 1

Select Field3 
into #tmpkeyB 
from table2 
inner join table 1 on field3 = field 2

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

Или я неправильно понимаю природу проблемы?Какова природа полей?

...