我正在尝试将表中一行的数据转换为临时表中的三行,因此我可以根据不同的值更新数据,我想知道是否有比 UNION 更好的方法操作。
这是基本的 UNION 语法,可以将数据从一行获取到我想要的三行:
(SELECT
0 as lead_id,
'RV' as lead_type,
'' as lead_serial,
rv_amplitude as amplitude,
rv_pulse_width as pulse_width,
rv_sensitivity as sensitivity
FROM program_parameters WHERE event_id = 33636)
UNION
(SELECT
0 as lead_id,
'LV' as lead_type,
'' as lead_serial,
final_amplitude as amplitude,
final_pulse_width as pulse_width.
final_sensitivity as sensitivity
FROM program_parameters WHERE event_id = 33636)
UNION
(SELECT
0 as lead_id,
'ATRIAL' as lead_type,
atrial_amplitude as amplitude,
atrial_pulse_width as pulse_width,
atrial_sensitivity as sensitivity
FROM program_parameters WHERE event_id = 33636)
所以我的最终数据是一个包含列的三行表。
我必须获取此数据的唯一键值是 event_id,表中每个 event_id 只有一行。
除了 UNION 操作之外,是否有更好的方法将这些数据放入单独的行中?
最佳答案
UNION
是这里的正确解决方案。
当您希望将单独的结果集作为一个集合时,您需要使用它。
关于sql - 将数据从一行获取到多行时替代 UNION 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8169383/