SQL:多值属性

标签 sql database

我创建了一个包含公司信息的表格。一个属性是他们的电话号码。一个公司可以有很多电话号码。

如何在 SQL 中创建多值属性?

最佳答案

在单独的表格中,例如:

CREATE TABLE Company
(
  Id int identity primary key, 
  Name nvarchar(100) not null UNIQUE --UNIQUE is optional
)
GO
CREATE TABLE CompanyPhones
(
  Id int identity primary key, 
  Phone nvarchar(100) not null, 
  CompanyId int NOT NULL REFERENCES Company(Id) ON DELETE CASCADE
)

如何使用这些结构:

SELECT CompanyPhones.Phone
FROM Company
JOIN CompanyPhones
  ON Company.Id = CompanyPhones.CompanyId
WHERE Company.Name=N'Horns and Hoogs Ltd.'

关于SQL:多值属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8868395/

相关文章:

sql - 将查询扩展到 WHERE 子句中指定的范围之外

Android:在显示之前对Cursor中的SQL返回值进行算术

php - 加权随机性。我怎样才能给刚刚添加到数据库中的行更多的权重?

sql - 这两个 PostgreSQL 函数是否等价? (返回表和返回集)

html - Laravel - 只显示 .. tablerows 的数量,然后为它创建一个新的子页面

database - Google 的 App Engine 是否适合基于事务的系统

database - 使用其他数据库时,Firebirds "STARTING WITH"的等效项是什么,例如甲骨文?

mysql - 在 MySQL 中按年龄范围分组

database - 在 Laravel 5.4 中播种时出现 QueryException "Array To String Conversion"

java - 在没有xml的情况下在spring boot中连接到mysql数据源