0

我的声明有点问题:

SELECT 
    p1.Modell_nr, 
    p1.ProductID,
    p2.count_modlieffarbe_vl,
    concat(p1.Modell_nr,'_',p1.LiefFarbe) as modfarb_id1
FROM produkte as p1
LEFT JOIN 
(
    SELECT p2.ProductID as tester,
       count(*) as count_modlieffarbe_vl
       FROM produkte as p2 
       WHERE p2.Vl>p2.vl_min
       group by p2.Modell_nr, p2.LiefFarbe
) as count_modlieffarbe_vla ON p1.ProductID = tester 

...它可以在没有错误消息的情况下工作。...但在我的结果中只获得 Modell_nr、ProductID 和 modfarb_id1 作为 cols。为什么我的结果中没有看到 count_modlieffarbe_vl?

4

1 回答 1

1

我会说因为它不在 p2 表中。您的查询应如下所示:

SELECT 
p1.Modell_nr, 
p1.ProductID,
count_modlieffarbe_vla.count_modlieffarbe_vl,
concat(p1.Modell_nr,'_',p1.LiefFarbe) as modfarb_id1
FROM produkte as p1
LEFT JOIN 
(
SELECT p2.ProductID as tester,
count(*) as count_modlieffarbe_vl
FROM produkte as p2 
WHERE p2.Vl>p2.vl_min
group by p2.Modell_nr, p2.LiefFarbe
) as count_modlieffarbe_vla ON p1.ProductID = tester 

count_modlieffarbe_vla.count_modlieffarbe_vl是关键。

于 2011-02-28T12:31:27.613 回答