【问题标题】:INSERT values into a table based on another table将值插入到基于另一个表的表中
【发布时间】:2014-04-08 13:09:37
【问题描述】:

当我们插入一个产品时,我们需要在各个类别下显示它,类别存储在名为 tab_categories 的表中,下面是一些示例数据:

product     category
15          28
15          29
15          21

这意味着产品 15 出现在类别 28、29、21 中

我正在尝试在 MySQL 中编写一个查询,并根据名为

的表中产品的类型 (tid) 选择产品
tab_products

在表格“tab_categories”中添加产品和类别字段行。

所以我首先选择以下产品:

SELECT * from tab_products WHERE tid = "1"

在此之后,我需要在表 tab_categories 中插入带有相应类别字段的行,例如:

product     category
1       28
1       29
2       21
2       24

我已经尝试过,但我没有编写此查询的技能。你能帮帮我吗?

【问题讨论】:

  • "我已经尝试过..." 显示您尝试过的内容。另外,tab_products 表上的列是什么?
  • 朋友你好,我已经尝试阅读insert的文档...但是我的技能很差..tab_products表有很多很多字段,但是我需要根据一个字段选择产品命名为“tid”,其他字段与这个特定问题无关,真的......所以,你能帮我吗?谢谢!
  • 那么您从哪里获取要插入到tab_categories 表中的类别ID?你应该展示一个具体的例子,包括你在tab_products中开始的数据,以及tab_categories中的期望结果。
  • 类别ID是我会根据产品的类型ID调整的,每个产品都需要放在不同的类别中,所以这个总是会改变,我需要手动改变它类型 ID,我只需要知道如何从 table_products 中选择类型 ID 为 n 的所有产品。 1,例如,然后我会选择要放在tab_categories里面的类别id,希望你理解我。

标签: mysql insert


【解决方案1】:

您可以将SELECT 语句与INSERT 语句结合使用:

SELECT col1, col2
INTO otherTable
FROM myTable

【讨论】:

  • 所以它看起来像SELECT ID, categoryID INTO tab_categories FROM tab_products WHERE typeID = 1
  • 重点是我需要指定要插入的多个类别ID,例如类型ID为1的产品需要在类别ID 20、21、22...下显示。所以我需要了解如何完成此任务....根据类型 id (tid) 从 table_products 中选择产品,然后将每个选定产品的 tab_categories 插入到需要显示产品的每个类别的一行中,明白了吗?
  • 是的,您的示例有效。关于多个条件,您可能需要查看OR's 和ANDs。如果要匹配多个身份证号,IN() 也可以查一下。
  • 我需要了解如何在类别字段的 tab_category 中插入特定数字,我不明白如何做到这一点,请帮助
猜你喜欢
  • 2023-03-04
  • 2012-03-06
  • 2014-07-29
  • 2021-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多