我有兩張桌子(carousels和carousel_images)
旋轉木馬桌
| ID | small_img_1 | small_img_2 | large_img_1 | large_img_2 | img_cta_1 | img_cta_2 |
|---|---|---|---|---|---|---|
| 75 | 101 | 102 | 103 | 104 | cta_1 | cta_2 |
| 76 | 201 | 202 | 203 | 204 | xxx | xxx |
carousel_images表
| ID | 網址 | alt_tag |
|---|---|---|
| 101 | http_101 | 文本_101 |
| 102 | http_102 | text_102 |
| 103 | http_103 | text_103 |
| 104 | http_104 | text_104 |
預期結果我想回傳以下結果。其中選擇了構建輪播所需的所有影像 where carousel.id == 1。
| img_id | 小圖片 | small_img_url | small_img_alt | 大圖 | large_img_url | large_img_alt | img_cta |
|---|---|---|---|---|---|---|---|
| 1 | 101 | http_101 | 文本_101 | 103 | http_103 | text_103 | cta_1 |
| 2 | 102 | http_102 | text_102 | 104 | http_104 | text_104 | cta_2 |
問題- 這就是我已經走了多遠。我無法得到結果large_img_1并large_img_2在我的結果中被誘導。
| img_id | 小圖片 | small_img_url | small_img_alt | img_cta |
|---|---|---|---|---|
| 1 | 101 | http_101 | 文本_101 | cta_1 |
| 2 | 102 | http_102 | text_102 | cta_2 |
到目前為止,這是我的查詢。
SELECT
[img_id],
[small_img],
[large_img] [img_cta],
[carousel_images].[url] AS 'small_img_url',
[carousel_images].[alt_tag] AS 'small_img_alt'
FROM
[dbo].[carousels] CROSS APPLY(
VALUES
(1, [small_img_1], [img_cta_1]),
(2, [small_img_2], [img_cta_2])
) V(img_id, small_img, img_cta)
LEFT OUTER JOIN [carousel_images] ON [small_img] = [carousel_images].id
WHERE
[carousel_images] = 75;
有人可以幫忙嗎?我被困了好幾天了。
它也是一個遺留系統,所以這就是為什么表結構就是這樣的原因。不幸的是我不能改變它:(
uj5u.com熱心網友回復:
你快到了。
您需要添加large_img到CROSS APPLY. 并加入carousel_images兩次。一次為 thesmall_img一次為 thelarge_img
SELECT
v.[img_id],
v.[small_img],
s.[url] AS small_img_url,
s.[alt_tag] AS small_img_alt,
v.[large_img],
l.[url] AS large_img_url,
l.[alt_tag] AS large_img_alt,
v.[img_cta]
FROM
[dbo].[carousels] c
CROSS APPLY
(
VALUES
(1, [small_img_1], [large_img_1], [img_cta_1]),
(2, [small_img_2], [large_img_2], [img_cta_2])
) v (img_id, small_img, large_img, img_cta)
LEFT OUTER JOIN [dbo].[carousel_images] s ON v.[small_img] = s.id
LEFT OUTER JOIN [dbo].[carousel_images] l ON v.[large_img] = l.id
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/430435.html
