我目前正在为与我合作的公司开发数据库软件。我以 Len Silverston 的书为基础,因为我发现它是基于数据建模的信息的极好来源。
现在,你不需要熟悉他的书就能知道我的问题的解决方案,但我想不出任何其他方式来形容我的标题。
假设我有两个表,Persons和Person_Names:
CREATE TABLE Persons
(
party_id INT PRIMARY KEY,
birth_date DATE,
social VARCHAR(20)
);
CREATE TABLE Person_Names
(
party_id INT,
name_id INT,
person_name VARCHAR(20),
CONSTRAINT person_names_cpk
PRIMARY KEY (party_id, name_id)
);
这两个表可以通过party_id 连接。此外,在Person_Names下,name_id = 1与人的名字(存储在字段person_name中)相关,而name_id = 2是人的姓氏。
* 编辑 * 有人要求提供一些数据,所以我将在下面添加一些数据:
INSERT INTO Persons VALUES
(1, '01-01-1981', '111-11-1111'),
(2, '02-02-1982', '222-22-2222'),
(3, '03-03-1983', '333-33-3333');
INSERT INTO Person_Names VALUES
(1, 1, 'Kobe'),
(1, 2, 'Bryant'),
(2, 1, 'LeBron'),
(2, 2, 'James'),
(3, 1, 'Kevin'),
(3, 2, 'Durant');
现在我添加了这些数据,我将如何查询以下内容?
-----------------------------------------------------------------------
| Party Id | First Name | Last Name | Birthdate | Social No. |
-----------------------------------------------------------------------
| 1 | Kobe | Bryant | 01-01-1981 | 111-11-1111 |
| 2 | LeBron | James | 02-02-1982 | 222-22-2222 |
| 3 | Kevin | Durant | 03-03-1983 | 333-33-3333 |
-----------------------------------------------------------------------
感谢您花时间阅读我的问题!