SQL select 一个条目中的两列

SQL select two columns from one entry

如何在条目末尾使用正则表达式从一列中查询两列?

Table 图片:

IMAGE_NAME         IMAGE_ID
---------------------------
image01_01.png     0
image01_02.png     1
image02_01.png     2
image02_02.png     3
select
    IMAGE_NAME,
    IMAGE_ID,
    <img src="https://my_page?im_id='||IMAGE_ID||'" class="test" height="50" width="200">' IMAGE
from 
    IMAGES
where 
    IMAGE_NAME like '%01.png'

显示所有以 01.png 结尾的图片名称。此外,我需要第二列显示所有图像名称以 02.png 结尾的图像。

如何实现获取两列的查询?

编辑:我想在 Apex 的交互式报告中显示两个图像列。

编辑 #2:显示带有 img 标签的图像时变得更加复杂。

预期的列结果应该是一个 html 可以在 Apex 中显示的图像对象:

https://my_page?im_id=0

Suffix_01       | Suffix_02       | Link to image_01       | Link to image_02
----------------+-----------------+------------------------+-----------------
image02_01.png  | image02_02.png  |https://my_page?im_id=2 | https://my_page?im_id=3
image01_01.png  | image01_02.png  |https://my_page?im_id=0 |https://my_page?im_id=1

假设您想要 table 个具有相同前缀的 one-row 个图像名称。您可以为其使用条件聚合:

SELECT 
    t.suffix01, 
    t.suffix02, 
    'https://my_page?im_id=' || i1.image_id "Link to image_01", 
    'https://my_page?im_id=' || i2.image_id "Link to image_02"
FROM
    (SELECT 
         MAX(CASE WHEN Image_name like '%01.png' THEN Image_name END) suffix01,
         MAX(CASE WHEN Image_name like '%02.png' THEN Image_name END) suffix02
     FROM 
         Images
     GROUP BY 
         SUBSTR(image_name, 1, LENGTH(image_name) - 6)) t 
JOIN 
    images i1 ON i1.image_name = t.suffix01
JOIN  
    images i2 ON i2.image_name = t.suffix02

DEMO

结果:

suffix01        | suffix02        | Link to image_01        | Link to image_02
----------------+-----------------+-------------------------+------------------
image02_01.png  | image02_02.png  | https://my_page?im_id=2 | https://my_page?im_id=3
image01_01.png  | image01_02.png  | https://my_page?im_id=0 |https://my_page?im_id=1