[英]Select multiple rows as one row in two different fields name by MySQL
我有兩個表:一個是d_sms,另一個是d_image表。 每個sms_id我都有兩個圖像:第一個是主圖像,第二個是商品圖像。 我想通過image_id和image_offer_id選擇這些圖像。 我給兩個圖像卻分成兩行的問題。 我需要在一行中選擇圖像和offer_image。 怎么做?
這段代碼給了我兩行
SELECT d_sms.*
, d_image.*
FROM
d_sms
INNER JOIN d_image
ON d_sms.image_id = d_image.id
or d_sms.offer_image_id = d_image.id
我認為最簡單的方法是進行兩個單獨的聯接:
select d_sms.*, i.*, oi.*
from d_sms left outer join
d_image i
on d_sms.image_id = i.id left outer join
d_image oi
on d_sms.offer_image_id = oi.id;
注意:您將要從oi
和i
選擇單個字段,並給它們指定不同的名稱。
select s.id, i.imag, i2.imag from d_sms s
inner join d_image i on s.image_id = i.imageid
inner join d_image i2 on s.offer_image_id = i2.imageid
與蘭迪就兩次加入達成協議。 如果兩個圖像都存在,則內部聯接可能會更有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.