【问题标题】:Combine a "Select" insert for some rows and "Values" insert for other rows in same query - mysql在同一查询中组合某些行的“选择”插入和其他行的“值”插入 - mysql
【发布时间】:2016-01-27 08:59:00
【问题描述】:

我一直在寻找这个问题的答案,但似乎找不到任何可以解决的问题。
是否可以将这 2 个查询(单独工作)组合成一个查询?
Qry 1) 这会将 $ID(作为变量)和从 TableB 中提取的名称(与该 ID 对应)插入到 TableA 中。这会在 TableA 中创建一行。

INSERT INTO `TableA`(`ID`,`Name`) 
            SELECT $ID, Name 
            from `TableB` 
            WHERE `ID`='$ID';

Qry 2) 这会将 $ID(作为变量)和名称(作为文本)插入 TableA。这会在 TableA 中创建一行。

INSERT INTO `TableA`(`ID`,`Name`) 
            VALUES ('$ID','Changeme!');

【问题讨论】:

    标签: mysql select insert


    【解决方案1】:

    在选择语句中使用列名而不是$ID

    INSERT INTO TableA(ID,Name) 
    SELECT TableB.ID, TableB.Name from TableB WHERE TableB.ID='$ID'
    UNION ALL
    SELECT $ID as ID,'changeme!' as name;
    

    使用union 合并记录。

    【讨论】:

    • 我知道你从哪里来,谢谢,但是这两个查询正是我需要他们做的。我只是想知道是否有办法将它们组合成 1. $ID =999 Qry 1 结果插入 TableA:999,Mark Twain Qry 2 结果插入 TableA:999,ChangeMe!
    • 非常感谢@Code-Monk。那成功了。 “联合所有”是要走的路! :)
    猜你喜欢
    • 1970-01-01
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    • 2014-05-05
    相关资源
    最近更新 更多