sql将数据从其他表附加到当前表的条件
Posted
技术标签:
【中文标题】sql将数据从其他表附加到当前表的条件【英文标题】:sql appending data from other table to current table with conditions 【发布时间】:2014-07-10 14:21:29 【问题描述】:我有 2 张桌子,PRODUCT
和 VENDOR
。每个属性如下:
PRODUCT: product_id, product_name, price, vendor_id
VENDOR: vendor_id, vendor_name, vendor_phone, vendor_address
我希望 vendor_name 在 PRODUCT 中显示 PRODUCT
中的 vendor_id
匹配 VENDOR
中的 vendor_id
不创建视图。我研究了 SELECT INTO 和 INSERT INTO,但我可能做错了。我也在 Access 中这样做,因为它只是课堂模块的虚拟数据。
【问题讨论】:
选择和插入是完全不同的东西。我不认为这些都不是你想要的。 Select into 将创建一个新表, inset into 将向现有表添加行。我强烈建议不要这样非规范化您的数据。将这些表分开并创建一个查询以返回您想要查看的值。 嗯,有道理。开发人员通常如何做到这一点。我是一名业务分析师,我看到在我们公司的数据库中,PRODUCT
表中的vend_id
和vend_name
与VENDOR
表中的值匹配。
呃 vend_name 不应出现在 Product 表中。 vend_id 是唯一应该存在的供应商数据。那是外键。其余数据应来自供应商表。在您的原始帖子中,我在产品表中没有看到 vendor_name。
【参考方案1】:
根据您上面的示例,我会像这样编写您的查询。
select product_id
, product_name
, price
, vendor_name
, vendor_phone
, vendor_address
from Product p
inner join vendor v on v.vendor_id = p.v.vendor_id
【讨论】:
以上是关于sql将数据从其他表附加到当前表的条件的主要内容,如果未能解决你的问题,请参考以下文章