-1

我有 2 个查询,我想在第二个查询中使用第一个查询的结果。第一个查询是这样的:

从“关于我们”之类的类别中选择 ID

假设这个返回Cat_id = 2

现在在我的第二个查询中,我需要使用第一个查询 EG 的结果:我需要使用 id(在查询 1 中返回)进入关于我们的子类别

第二个查询是这样的:

插入 sub_cat VALUES(NULL, 2 ,History) INTO(subCat_id, Cat_id, 'name')

那么如何将第一个 SQL 查询中返回的值用于我的第二个查询

4

2 回答 2

2

您可以在查询中使用子INSERT查询:

INSERT INTO sub_cat (subCat_id, Cat_id, `name`)
VALUES (NULL, (SELECT id FROM category WHERE name = 'About Us'), 'History');

这假定您没有多个具有相同名称的类别。如果您的表确实有同名的类别,您可以LIMIT 1在子查询中添加一个,或者使用INSERT INTO .. SELECT他的回答中提到的 Stefan H. 之类的语句:

INSERT INTO sub_cat (subCat_id, Cat_id, `name`) (
    SELECT NULL, id, 'History' FROM category WHERE name = 'About Us'
)
于 2012-07-27T19:33:18.093 回答
0

INSERT INTO SELECT 是您想要的查询

INSERT into 
    sub_cat 
SELECT 
    NULL AS subCat_id,
    Cat_id,
    'name' as History
FROM
    Category
Where 
    YourColumn like 'About Us'
于 2012-07-27T19:33:02.057 回答