2012-05-30 35 views
1

我嘗試算這個選擇從另一個表中的所有項目:sql LIKE子句中的錯誤在哪裏?

SELECT id, name, (SELECT count(*) 
        FROM prekes_main 
        WHERE prekes_main.pristKaina = 1 
        and prekes_main.pg_kodas LIKE 'grupes_main.pg_kodas%') as pristKaina 
FROM grupes_main 
WHERE grupes_main.level = 1 
and grupes_main.name <> '' 

在LIKE子句中我想自動獲得選擇grupes_main列pg_kodas,但在此查詢總是返回0,哪裏是錯在LIKE功能? thx

+1

數據的外觀如何? – gdoron

+0

不要把這個子查詢放在select語句中......每當有一條匹配你的where子句的記錄時,你會要求計數!另外兩組數據之間沒有連接。你應該修改你的邏輯 – Sebas

回答

4
SELECT id, name, 
     (
     SELECT COUNT(*) 
     FROM prekes_main 
     WHERE prekes_main.pristKaina = 1 
       AND prekes_main.pg_kodas LIKE CONCAT(grupes_main.pg_kodas, '%') 
     ) pristKaina 
FROM grupes_main 
WHERE grupes_main.level = 1 
     AND grupes_main.name <> '' 
+0

thx,它工作:) –