簡體   English   中英

SQL 兩個結果來自兩列中的一列

[英]SQL Two result from one column in 2 columns

我在論壇中檢查了一些類似的問題,但我似乎無法讓它正常工作。 我在 phpmyadmin

我需要得到這樣的結果:

參考 | 產品名稱English | 產品名稱法語

阻止我的是在同一列(pl.name)上執行 2 個請求:/

這是我現在的查詢:

SELECT
p.reference AS Reference,

(SELECT pl.name
FROM ps_product p
LEFT JOIN ps_product_lang pl ON (p.id_product = pl.id_product)
WHERE p.active = 1
AND pl.id_lang = 2) AS ENname,

(SELECT pl.name
FROM ps_product p
LEFT JOIN ps_product_lang pl ON (p.id_product = pl.id_product)
WHERE p.active = 1
AND pl.id_lang = 1) AS FRname

FROM ps_product p

您不需要在子查詢中加入:

SELECT p.reference AS Reference,
       (SELECT pl.name
        FROM ps_product_lang pl 
        WHERE p.id_product = pl.id_product AND
              p.active = 1 AND
              pl.id_lang = 2
       ) AS ENname,
       (SELECT pl.name
        FROM ps_product_lang pl 
        WHERE p.id_product = pl.id_product AND
              p.active = 1 AND
              pl.id_lang = 1
       ) AS FRname
FROM ps_product p;

這假設只有一行與子查詢匹配。 如果不是這種情況,您可能需要將結果限制為一行。

SELECT
  p.reference AS Reference,
  pl.name as ENname,
  pf.name as FRname
FROM ps_product p
LEFT JOIN ps_product_lang pl ON (p.id_product = pl.id_product and pl.id_lang = 1)
LEFT JOIN ps_product_lang pf ON (p.id_product = pf.id_product and pf.id_lang = 2)
WHERE p.active = 1

我可能已經切換了英語和法語,但這應該很容易解決....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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