侧边栏壁纸
博主头像
云BLOG 博主等级

行动起来,活在当下

  • 累计撰写 318 篇文章
  • 累计创建 6 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录
SQL

mysql多个结果集拼接一行

Administrator
2024-07-21 / 0 评论 / 0 点赞 / 0 阅读 / 0 字
mysql多个结果集拼接一行
五个不同的结果,查询出来,拼接成一行 


SELECT * FROM
	(
		SELECT
			plant_name as plantName
		FROM pv_power_plant
		<if test="plantId != null  and plantId != ''">
			WHERE `status` = '0' and plant_id = #{plantId}
		</if>
		<if test="plantId == null">
			WHERE `status` = '0'
			LIMIT 1
		</if>
	) a
	LEFT JOIN
		(
			SELECT
				station_id as stationId,
				station_name stationName,
				SUM(distinct installed_capacity) as installedCapacityCount,
				SUM(distinct proposed_capacity) as proposedCapacityCount
			FROM pv_power_station
			<where>
				<if test="plantId != null  and plantId != ''"> and plant_id = #{plantId}</if>
			</where>
		) b ON 1=1
	LEFT JOIN
		(
			SELECT
				COUNT(distinct region_id) as areaCount,
				SUM(distinct region_area) as regionAreaCount
			FROM pv_power_region
			<where>
				<if test="plantId != null  and plantId != ''"> and plant_id = #{plantId}</if>
			</where>
		) c ON 1=1
	LEFT JOIN
		(
			SELECT
				COUNT(distinct matrix_code) as matrixCount,
				COUNT(group_series_code) as groupSeriesCount
			FROM pv_group_series
			<where>
				<if test="plantId != null  and plantId != ''"> and plant_id = #{plantId}</if>
			</where>
		) d ON 1=1
	LEFT JOIN
		(
			SELECT
				COUNT(distinct asset_id) as componentNumberCount
			FROM pv_component_asset
			<where>
				<if test="plantId != null  and plantId != ''"> and plant_id = #{plantId}</if>
			</where>
		) f ON 1=1

0

评论区