mysql - SQL查询根据If语句复制记录

标签 mysql sql shopp

我正在尝试编写一个 SQL 查询,该查询将根据另一个表中的字段复制记录。我正在运行 mySQL 5。

(我知道重复记录表明数据库结构不好,但我没有设计数据库,也无法重做 - 这是一个运行在 wordpress 上的 shopp 电子商务数据库。)

每个具有特定属性的产品都需要一个指向相同数量图片的链接,因此产品需要在表格中为每个图片占一行 - 数据库实际上并不包含图片,仅包含其文件名。 (图片为剪贴画供客户选择)

根据这些记录...

SELECT * FROM `wp_shopp_spec` WHERE name='Can Be Personalised' and content='Yes'

我想做这样的事情..

对于匹配该查询的每条记录,从 wp_shopp_asset 复制记录 5134 - 5139,但更改 ID 使其唯一,并将“parent”列中的单元格设置为表 wp_shopp_spec 中的“product”值。这将意味着为与上述查询匹配的每条记录创建 6 条新记录,所有记录在“parent”中都具有相同的值,但具有唯一的 id,并且每隔一列从原始记录(即记录 5134-5139)复制而来

希望已经足够清楚了 - 非常感谢任何帮助。

最佳答案

听起来您需要交叉连接到您想要的 Assets 值。所以像这样:

Select spec.parent, asset.id as uniqueid, ...
From`wp_shopp_spec` spec
    Cross Join  (
                Select id
                From `wp_shopp_asset`
                Where Id Between 5134 And 5139
                ) asset
Where name='Can Be Personalised' 
    And content='Yes'

关于mysql - SQL查询根据If语句复制记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2733803/

相关文章:

python - 使用 sqlalchemy 将相关数据添加到 MySQL 数据库

mysql - 如何将一个表中的值放入另一个表中,其中table1的column1 = table2的column2?

javascript - 动态内容上的滑动切换

html - IE 中的网站 CSS 格式问题

mysql - SQL Query基于inner join获取结果集

mysql - scrapy导出到数据库多个表

python - sqlite - 使用两列的倍数的 WHERE 语句

mysql - 所有周的平均值

sql - SSMS 2005 或 2008 中自动格式化查询语法的选项?

php - CENTOS/HTTPD 内存问题