簡體   English   中英

在MySQL的兩個不同字段中選擇多行作為一行

[英]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;

注意:您將要從oii選擇單個字段,並給它們指定不同的名稱。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM