SQL查询询问问题(子查询返回多行)

时间:2014-06-26 12:15:00

标签: sql concat

这是我的疑问:

SELECT 
    MAX(c.CategoryID) as catID,
    c.EntityID,
    p.ProductID,
    pd.ProductName,
    cd.Name as Categorie,
    pd.Description,
    pd.MetaTitle,
    pd.MetaDescription,
    SUM(p.Price) AS Price,
    SUM(p.Stoc) AS Stoc,
    p.IsActive,
    MAX(CASE WHEN fd.FieldName='Volum' THEN TextValue ELSE NULL END) AS Volum,
    MAX(CASE WHEN fd.FieldName='Tip inchidere' THEN TextValue ELSE NULL END) AS TipInchidere,  
    MAX(CASE WHEN fd.FieldName='Ambalare palet' THEN TextValue ELSE NULL END) AS AmbalarePalet,
    MAX(CASE WHEN fd.FieldName='Ambalare bax' THEN TextValue ELSE NULL END) AS Ambalarebax,
    CONCAT('http://www.borcane.ro/images/',img.ParentType,'/', lpad(p.ProductID,8,'0'),'/',lpad(img.ID,8,'0'),'_large.JPG'),
    (
    SELECT 
    CONCAT('http://www.borcane.ro/images/',img2.ParentType,'/',lpad(p.ProductID,8,'0'),'/',lpad(img2.ID,8,'0'),'_large.JPG') 

    FROM images_images img2
    ) as ImageLinks
FROM 
    products_products p
    LEFT JOIN products_products_details pd
        on pd.ProductID = p.ProductID
    LEFT JOIN fld_chosenvalues f
        on f.ProductID = p.ProductID
    INNER JOIN fld_fields_details fd
        ON f.FieldID = fd.FieldID
    INNER JOIN g_categories_relations c
        ON p.ProductID = c.EntityID
    INNER JOIN g_category_details cd
        ON  c.CategoryID = cd.ID
    INNER JOIN images_images img
        ON img.ParentID = p.ProductID

WHERE  
    pd.Locale = 'ro-RO' 
    AND fd.Locale = 'ro-RO'
    AND cd.Locale = 'ro-RO'
GROUP BY
    p.ProductID,
    pd.ProductName,
    p.IsActive

所以问题就在这里:CONCAT('http://www.borcane.ro/images/',img2.ParentType,'/',lpad(p.ProductID,8,'0'),'/',lpad(img2.ID,8,'0'),'_large.JPG')它返回的元素多了一个,我知道,但是我想要将所有结果都归还给我,我想把所有的结果都放在一个ROW中。例如: enter image description here

这是我的情况,它不会返回数字,而是连接结果。我怎么能这样做?

0 个答案:

没有答案