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
结果:
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
如何在条目末尾使用正则表达式从一列中查询两列?
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
结果:
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