我有一個字符串與數據庫中不同表的整數列進行比較的問題。mysql SQL查詢來比較整數和字符串
擁有一個包含兩個表格作爲類別和內容的數據庫。現在,每個內容文本都可以屬於多個類別,該類別列在用逗號分隔的內容表的category_ids列中。我知道這是不正常的。但它已經在那裏。
類別表
id | name | timestamp
1 aaa something
2 bbb something
3 ccc something
4 ddd something
5 eee something
內容表
id | category_ids | content | timestamp
1 1 xxx something
2 1,2,3,4 yyy something
3 1,2 zzz something
4 1,2,3 www something
現在我必須展示在每個類別內容的文本數類別列表。 意味着使用該類別的內容文本的數量。注(類EEE是不是有在這麼顯示的結果集0計數的任何內容文本。)
aaa(4)
bbb(3)
ccc(2)
ddd(1)
eee(0)
我試過的方法來分類表的ID進行比較,以內容表的category_ids很多。但一個是整數,另一個是字符串。
一個辦法我試過被投功能,但未能
SELECT C.id , C.Name, COUNT(*) AS ContentCount FROM categories AS C LEFT JOIN content AS Q ON (CAST(C.id AS CHAR) = (Q.category_ids)) GROUP BY C.Name
請不要告訴我的方法來更改數據庫。如果有任何想法,我怎麼能寫一個查詢,這將給我這種結果集將不勝感激。
數據庫中的CSV是邪惡的,您已被咬傷。 – Johan