簡體   English   中英

來自不同表mySQL的多個SELECT COUNT

[英]Multiple SELECT COUNT from different tables mySQL

我想計算來自不同兩個表的帶有前綴PublicImg的圖像數量,因此我使用了以下代碼:

    $nb_imgs_a_afficher = $BDD->query("
                                    SELECT COUNT(ID,img_kind) 
                                    FROM images_public  

                                    UNION

                                    SELECT COUNT(ID,img_kind) 
                                    FROM images_users  

                                    WHERE img_kind='PublicImg'");

    $images_users = $nb_imgs_a_afficher->fetch();

但我收到此錯誤:

(!)致命錯誤:消息未捕獲的異常“ PDOException”
'SQLSTATE [42000]:語法錯誤或訪問沖突:1064您的SQL語法有錯誤; 在第72行的C:\\ wamp1 \\ www \\ website \\ Index_Public_Images \\ public_images.php中,檢查與MySQL服務器版本相對應的手冊以在'附近使用正確的語法

好吧,在我有一張容易使用的桌子之前:

$nb_imgs_a_afficher = $BDD->query("SELECT COUNT(*) AS nb_imgs FROM images_users WHERE img_kind='PublicImg'  ");

首先,您在那里有錯字。 SLECET更改為SELECT ,然后嘗試從兩個不同的表使用中獲取行總和-

SELECT COUNT(*) FROM (
    SELECT ID,img_kind
            FROM images_public  
            UNION
    SELECT ID,img_kind
            FROM images_users  
            WHERE img_kind='PublicImg' ) x

不知道您是否要在兩個查詢上都使用WHERE子句。 如果是這樣, WHERE img_kind='PublicImg'UNION之前添加WHERE img_kind='PublicImg'

另外,檢查是否重復。 UNION將刪除重復項,而UNION ALL則不會。

暫無
暫無

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

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