我有3列的MySQL表:id,company_id和tag_id。 它用於將公司和標籤鏈接在一起。 表模式:MySql:選擇項目什麼都有值
CREATE TABLE tbl_company_tag_link (
id BIGINT NOT NULL AUTO_INCREMENT,
company_id BIGINT NOT NULL,
tag_id BIGINT NOT NULL,
PRIMARY KEY(id)
);
任何公司都可以用任何數量的標籤聯繫起來。 我需要選擇連接了所有指定標籤的公司。 例如,我需要那些TAG_ID = 1,2,3(所有的人!) 我來是醜陋的查詢COMPANY_ID:
SELECT company_id, GROUP_CONCAT(tag_id) as group_concat_tag_id
FROM tbl_company_tag_link
WHERE tag_id IN (1,2,3)
GROUP BY company_id
HAVING group_concat_tag_id = "1,2,3"
我需要書寫的查詢幫助,這將是快。
我創建sqlfiddle與我的架構和查詢快速測試:http://sqlfiddle.com/#!9/2416f/2
來不及,發現詳細的回答同一個問題:Need help with sql query to find things tagged with all specified tags
是的,它按預期工作!謝謝! – MihanEntalpo
@MihanEntalpo: - 不客氣! –