Mysql 使用两个SELECT-FROM语法插入到问题中

Mysql 使用两个SELECT-FROM语法插入到问题中,mysql,sql,database,Mysql,Sql,Database,我有一个名为ps_manufacturer_lang的表,其中有4列名为id_manufacturer和id_lang,以及description和short_description id_manufacturer应为ps_manufacturer中选择的id_manufacturer中的值 id_lang应该是1 说明应为prestashop_old.ps_category_lang中的选择说明值,其中id_lang='1'和id_category位于 从prestashop_old.ps_c

我有一个名为ps_manufacturer_lang的表,其中有4列名为id_manufacturer和id_lang,以及description和short_description

id_manufacturer应为ps_manufacturer中选择的id_manufacturer中的值

id_lang应该是1

说明应为prestashop_old.ps_category_lang中的选择说明值,其中id_lang='1'和id_category位于 从prestashop_old.ps_category中选择id_category,其中id_parent='241'

简短描述应为空

这是我的密码:

INSERT INTO ps_manufacturer_lang (id_manufacturer, id_lang, description, short_description)
SELECT
    id_manufacturer
FROM ps_manufacturer
    1,
SELECT
    description
FROM prestashop_old.ps_category_lang 
WHERE 
    id_lang='1' 
    AND id_category IN (
        SELECT id_category FROM prestashop_old.ps_category WHERE id_parent='241'
    )
    NULL
错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1,
SELECT
    description
FROM prestashop_old.ps_category_lang
WHERE
    ' at line 5
似乎不可能在一个INSERT-in中使用两个SELECT-FROM语法

有什么帮助吗


谢谢,

嗯。我怀疑你想要这样的逻辑

INSERT INTO ps_manufacturer_lang (id_manufacturer, id_lang, description, short_description)
    SELECT m.id_manufacturer, 1, cl.description, NULL
    FROM ps_manufacturer m join
         prestashop_old.ps_category_lang  cl
         ON cl.id_lang = 1 and
            cl.id_category IN (
                SELECT id_category
                FROM prestashop_old.ps_category
                WHERE id_parent = 241
               );

首先测试select以查看它是否返回您想要的内容。

id\u制造商与描述和简短描述之间的关系如何?在您的问题中,数据似乎没有以任何方式链接。所有表都在同一个数据库中,除非注明。@NimaMasalegooha。这是使用查询中的逻辑得到的。我只想从两个表中的四个不同列填充一个表中的四列。