我对数据库很陌生,我有以下问题:我有2个表Cpe
和CpeVendor
。
Cpe
包含以下列:
Id int
Cpe varchar
SourceId varchar
DateAdded datetime
vendor_id int
Title varchar
part char
product_id int
version varchar
revision varchar
edition varchar
language varchar
CpeVendor
包含以下列:
id int
nome varchar
date_added datetime
因此Cpe
表中的单行与CpeVendor
表中的单行相关,但CpeVendor
中的单行可能与Cpe
中的多行相关表
我的问题是我希望将这两个表视为一个表,其中Cpe
表的行与CpeVendor
中的行绑定vendor_id
的值相关联Cpe
列,id
表
CpeVendor
值
我认为我必须进行JOIN
操作,是不是?你能帮我做一下这个操作吗?
答案 0 :(得分:2)
一个基本的连接语句,用于返回vendor_id连接的两个表中的所有列:
SELECT C.*, CV.* FROM Cpe C
INNER JOIN CpeVendor CV ON C.vendor_id = CV.id
每个表之后的C
和CV
是为每个表提供缩短引用的别名。您可以使用SQL中的其他任何位置C.
和CV.
来引用这些表。
在这里查看有关编写查询的有用基础知识:Technet SQL Query guide
答案 1 :(得分:1)
SELECT *
FROM CpeVendor cv join
cpe c on c.vendor_id = cv.id
假设Vendor_ID是来自CpeVendor表的ID的FK。
这将返回两个表中vendor_id = cv.id匹配的所有列。