sql将数据从其他表附加到当前表的条件

Posted

技术标签:

【中文标题】sql将数据从其他表附加到当前表的条件【英文标题】:sql appending data from other table to current table with conditions 【发布时间】:2014-07-10 14:21:29 【问题描述】:

我有 2 张桌子,PRODUCTVENDOR。每个属性如下:

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_idvend_nameVENDOR 表中的值匹配。 呃 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将数据从其他表附加到当前表的条件的主要内容,如果未能解决你的问题,请参考以下文章

将其他表的值添加到 h2 中当前表的值

如何在pyspark和sql的一个数据框中应用多个条件并附加到同一个表

将条件附加到当前查询[重复]

sql server分离及附加数据库

用于从其他表更新表的sql,每个表都有条件,不起作用

如何用SQL语句将数据库中的表的某一时间型字段的默认值设置为当前日期