Mysql SQL插入到将另一个表中的数据与常量组合中

Mysql SQL插入到将另一个表中的数据与常量组合中,mysql,sql,Mysql,Sql,我正在尝试构建一个表,将来自多个其他表的数据合并在一起。我需要将四条信息带入这个新表日期、金额、人员和描述。对于我的一些源表,这很简单,我可以使用: $example = mysql_query(" INSERT INTO bigtable (Date, Amount, Person, Description) SELECT PayDate, Amount, Payee, Description FROM Payments WHERE Payee=Bob "); 但是对于

我正在尝试构建一个表,将来自多个其他表的数据合并在一起。我需要将四条信息带入这个新表日期、金额、人员和描述。对于我的一些源表,这很简单,我可以使用:

$example = mysql_query("
INSERT INTO bigtable (Date, Amount, Person, Description)
   SELECT PayDate, Amount, Payee, Description
   FROM Payments
   WHERE Payee=Bob  
");
但是对于其中的一些,Description字段不存在,但是可以通过对通过这个特定查询添加的所有项目使用相同的值来创建。所以问题是:我知道如何使用值插入一条记录,但是我如何通过编程插入一组记录,这样一些字段就可以像上面那样从另一个表中动态提取,而另一些字段则是我指定的值,例如,流a的收入。下面是我未完成的工作

$combiner3 = mysql_query("
INSERT INTO ".$name."accttemptable (Date, Amount)
SELECT PayDate, Cash 
FROM IncomeStreamA  
");

有什么帮助吗?

如果您理解正确,您可以使用UNION ALL

Second select只是一个示例,它假设来自IncomeStreamA的所有内容都属于Bob。适当地改变它

您可以根据情况动态构建不存在的值。比如说

SELECT SomDate,
       SomeAmount,
       CASE somecolumn 
           WHEN 1 THEN 'Bob' 
           WHEN 2 THEN 'Jhon' 
           ELSE 'Other'
       END Person, 
       'Your description' Description
 FROM SomeTable
您可以根据需要链接任意多个select以实现您的目标

SELECT SomDate,
       SomeAmount,
       CASE somecolumn 
           WHEN 1 THEN 'Bob' 
           WHEN 2 THEN 'Jhon' 
           ELSE 'Other'
       END Person, 
       'Your description' Description
 FROM SomeTable