2011-02-28 72 views
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作爲列。爲什麼我在結果中看不到count_modlieffarbe_vl?

+0

我本來應該預料到一個錯誤,用於引用表中您左連接到的表的別名。 – 2011-02-28 16:41:40

回答

1

我會說bec bec它不在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是關鍵。

+0

你說得對,有相同的結構bevore ...但似乎addional錯誤在別的地方.... THANX! – user637646 2011-02-28 12:47:05