Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在mysql子查询中选择多列_Mysql - Fatal编程技术网

如何在mysql子查询中选择多列

如何在mysql子查询中选择多列,mysql,Mysql,我想定义如下的查询: 从表1中选择sumcolumn,其中id在表2中选择column1、column2 我该怎么做 更新:: 表1ID |基础p|U id |附加p|U id 1| 2 | 4 2| 2 | 3 表2ID |说明|成本 2 | - |1200 4 | - |400 现在base_p_id&additional_p_id是表2的fk,我想取成本的总和 像 从表2中选择sumcost,其中i

我想定义如下的查询:

从表1中选择sumcolumn,其中id在表2中选择column1、column2

我该怎么做

更新::

表1ID |基础p|U id |附加p|U id

     1|    2    | 4

     2|    2    | 3
表2ID |说明|成本

   2  |   -     |1200

   4  |  -      |400
现在base_p_id&additional_p_id是表2的fk,我想取成本的总和

从表2中选择sumcost,其中id插入从表1中选择base_p_id,additional_p_id,其中id=1

-谢谢。

您可以使用UNION:

SELECT
    sum(column)
FROM
    table1
WHERE
    id IN (SELECT col1 FROM table2 UNION SELECT col2 FROM table 2)

您可以通过连接来完成此操作。这也将比在子查询中使用快得多:

select sum(table1.column) 
from table1 
inner join table2 on table2.column1 = table1.id or table2.column2 = table1.id