Как мне обновить столбец с определенными значениями, чтобы ссылаться на идентификатор первичного ключа другой таблицы?

#sql-server #join #key

#sql-server #Присоединиться #Клавиша

Вопрос:

Моя цель — нормализовать мою таблицу. Моя таблица перед нормализацией называется Product Specifications , для ее нормализации у меня есть две другие таблицы, называемые buyers_table и product_table

Таблица «Спецификации продукта»

Столбцы: Product_id , model_number, buyer

Buyers_table

Столбец: Buyer_id, покупатель

Product_table

product_id, model_number, buyer_id

Как мне вставить покупателей из моей product_specification таблицы в мою product_table , но чтобы значения отображались как buyer_id значение вместо покупателя?

Извините, я новичок в этом. Это упрощенная версия базы данных, которую я настроил для своей компании.

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

1. Кстати, это в SQL Server

Ответ №1:

используйте этот дизайн для базы данных

Product_buyer: Столбцы: Id, Product_id , Buyer_id

Buyers_table: Столбец: идентификатор, Buyername

Product_table: Идентификатор, Номер модели

Спецификации продукта: Идентификатор, Product_id, Productname, Цена

затем для вставки данных в базу данных

  1. Сначала введите информацию в таблицу Product_table
  2. Извлеките последнюю запись таблицы Product_table и введите идентификатор в качестве Product_id и другую информацию в таблице Product_Specifications.
  3. Введите информацию о покупателе в таблицу Buyers_table при покупке
  4. Продукт_купщик

Создание таблиц

 create table Product_table
  (
    Id int identity,
    Model_number int,
    primary key(Id));


    create table Product_Specifications
    (Id int identity,
     Product_id int,
     Productname nvarchar(150),
     Price int,
     primary key(ID),
     foreign key(Product_id) references Product_table);

   //**********************
     //and define other table
   //......................
 

Получение информации о продукте

 select Product_table.Id,Product_table.Model_number,Product_Specifications.Productname,Productname.Price
from Product_table join Product_Specifications
on Product_table.Id = Product_Specifications.Product_id
 

Получить информацию о Product_buyer

 select Product_table.Id,Product_table.Model_number,Product_Specifications.Productname,Productname.Price,Buyers_table.Id,Buyers_table.Buyername
from Buyers_table join Product_buyer on Buyers_table.Id = Product_buyer.Buyer_id
join Product_table on Product_buyer.Product_id = Product_table.Id
join Product_Specifications on Product_table.Id = Product_Specifications.Product_id