当前位置: 首页 > 知识库问答 >
问题:

PostgreSQL:多个子选择来填充表

佟英武
2023-03-14

我有一个名为<code>cars_denorm</code>的非规范化表,它包含以下列:

id | make | model | color | comment 

在规范化这些数据的最后,我为makemodelcolor列创建了单独的表——这三个表由

我正在尝试填充一个cars_norm表,该表是列

id | make_id | model_id | color_id | comments

并且引用来自< code>make 、< code>model和< code>color表的id。基本上,我希望遍历< code>cars_denorm表中的每一行,并为每一行查询< code>make 、< code>model和< code>color表中各自的id,并将这些id作为单行插入< code>cars_norm表中(以及< code>comments列中的值)。我一直试图用子选择和PostgreSQL的< code>WITH关键字来实现这一点,但无法成功。这能用普通的SQL实现吗?如果没有,我该如何用函数来实现呢?

共有1个答案

倪振海
2023-03-14
 INSERT INTO cars_norm 
      SELECT CD.id, 
             MK.make_id, 
             MO.model_id, 
             CO.color_id,
             CD.comment
      FROM cars_denorm  CD
      JOIN make MK
        ON CD.make = MK.name
      JOIN model MO
        ON CD.model = MO.name
      JOIN color CO
        ON CD.color = CO.name
 类似资料:
  • 问题内容: 我想使用css在html中的选择选项之间添加某种空间(填充,边距或其他)。我已经尝试使用类似的东西: 但是没有用。我已经读过,这是可以做到的,但在IE中不起作用。无论如何,即使它无法在IE中运行,我也希望它可以在其他浏览器中运行。 PS:当前正在使用Chrome 问题答案: 选择选项的样式非常有限,因为要在操作系统中的所有应用程序之间保持一致性和一致性,因此浏览器应限制某些基本元素的样

  • 问题内容: 只是一个简单的查询,例如在模型中使用双引用。 模式/模型 询问 我已经尝试过类似的东西 实际上,只有人口之一在工作。 那么,如何让两个人口工作呢? 问题答案: 您已经在使用以下正确的语法: 也许订单中的ObjectId不在集合中?

  • 问题内容: 好的,这是我对Ajax的第一次尝试,它使我发疯,因为我实在无法绕开它。我想做的是在第一个框中用数据库中的客户填充,然后使用customerID通过select.php脚本从数据库中选择所有车辆ID。发生的情况是“客户”框被选中,但是选择客户时什么也没有发生。 这是我的Test.php文件: 这是我的select.php文件: 我正在尝试修改本教程以使用数据库,但到目前为止我没有成功。

  • 我有一个调查,有一堆问题,包括实际问题,一些是或否的单选按钮和一个评论框。我加了一张照片给你看。下面是填充问题后的html结构。 此信息通过web服务和jquery动态填充。看起来这些问题是动态填充的,每个问题都包含相同的类名、范围名等。有40多个问题被附加到div中。 我想做的是选择一个特定的问题并选中一个特定的单选按钮。然后,如果单击某个单选按钮,则会自动选中其他单选按钮。我相信Jquery是

  • 我想创建一些表格与自动填充价格在输入框,但我不知道如何实现到我的代码。首先我有选择选项,然后选择选项后,输入框上的价格会自动生成,然后我输入折扣值,然后总价格会自动生成(基本价格-折扣%)。这是我的代码: null null

  • 问题内容: 这个问题是我上一个问题的延续。无需赘述,我将用2个相关的一对多表填充数据集。所以,我现在的问题是-为什么这段代码能正常工作 这不是 在第二个示例之后,我仅填写了result.t0_DataAgency_R表,但没有填写result.t01_ChoiceParam_R。为什么会这样呢? 提前致谢 问题答案: 自动将阅读器移至下一个结果。因此,您应该删除对的显式调用。 意义: