--- notion-id: 244ca4d7-cb7b-805c-8ffb-dbe8e073a289 --- ### 查询wiz.kb和wiz.tag之间的关系语句 ```bash -- 查询能匹配上的wiz_tag记录(显示HEX格式的GUID) SELECT DISTINCT HEX(wt.KB_GUID) as KB_GUID_HEX, wt.TAG_NAME, wk.KB_NAME, wk.KB_GUID as KB_GUID_ORIGINAL FROM wizksent.wiz_tag wt INNER JOIN wizasent.wiz_kb wk ON HEX(wt.KB_GUID) = UPPER(REPLACE(wk.KB_GUID, '-', '')) WHERE wk.KB_NAME IS NOT NULL ORDER BY wt.TAG_NAME, wk.KB_NAME; ``` ```shell #查询没有TAG的文章 SELECT HEX(d.DOCUMENT_GUID) AS DOCUMENT_GUID, d.DOCUMENT_TITLE, d.BODY_TEXT FROM wiz_document d LEFT JOIN wiz_document_tag t ON d.DOCUMENT_GUID = t.DOCUMENT_GUID WHERE d.BODY_TEXT IS NOT NULL AND d.BODY_TEXT REGEXP '[[:graph:]]' AND t.DOCUMENT_GUID IS NULL; ``` ```shell SELECT HEX(DOCUMENT_GUID) AS DOCUMENT_GUID, DOCUMENT_TITLE, BODY_TEXT FROM wiz_document #WHERE DOCUMENT_TITLE LIKE "%拒绝事%" WHERE BODY_TEXT IS NOT NULL AND BODY_TEXT REGEXP '[[:graph:]]'; SELECT HEX(DOCUMENT_GUID) AS DOCUMENT_GUID, HEX(TAG_GUID) AS TAG_GUID FROM wiz_document_tag WHERE DOCUMENT_GUID = UNHEX('5152EA06297F4A13A11E2DF8D1388F8B'); SELECT TAG_NAME FROM wiz_tag where TAG_GUID = UNHEX('76925DF070B511EFB4BDC1083A359C1F'); ``` ```shell SHOW TABLES FROM wizksent; DESCRIBE wizksent.wiz_tag; -- 正确显示标签数据 SELECT HEX(TAG_GUID) as TAG_GUID, HEX(KB_GUID) as KB_GUID, TAG_NAME, HEX(OPERATOR_GUID) as OPERATOR_GUID, DT_CREATED, IS_GROUP, POS FROM wizksent.wiz_tag ORDER BY POS; DESCRIBE wiz_document; -- 查看关联数据(用HEX显示GUID) SELECT HEX(KB_GUID) as KB_GUID, HEX(DOCUMENT_GUID) as DOCUMENT_GUID, HEX(TAG_GUID) as TAG_GUID FROM wizksent.wiz_document_tag LIMIT 10; SELECT d.ID, d.DOCUMENT_TITLE as 文章标题, t.TAG_NAME as 标签, d.DOCUMENT_AUTHOR as 作者, d.DT_CREATED as 创建时间 FROM wizksent.wiz_document d JOIN wizksent.wiz_document_tag dt ON d.DOCUMENT_GUID = dt.DOCUMENT_GUID JOIN wizksent.wiz_tag t ON dt.TAG_GUID = t.TAG_GUID ORDER BY d.ID DESC; SELECT d.ID, d.DOCUMENT_TITLE as 文章标题, CASE WHEN t.TAG_NAME IS NULL THEN '未分类' ELSE GROUP_CONCAT(t.TAG_NAME SEPARATOR ', ') END as 标签, d.DOCUMENT_AUTHOR as 作者, d.DT_CREATED as 创建时间 FROM wizksent.wiz_document d LEFT JOIN wizksent.wiz_document_tag dt ON d.DOCUMENT_GUID = dt.DOCUMENT_GUID LEFT JOIN wizksent.wiz_tag t ON dt.TAG_GUID = t.TAG_GUID GROUP BY d.ID, d.DOCUMENT_TITLE, d.DOCUMENT_AUTHOR, d.DT_CREATED ORDER BY d.ID DESC LIMIT 100; ``` ```sql -- 查看wiz_kb表的GUID格式(前10条) SELECT KB_GUID, KB_NAME FROM wizasent.wiz_kb where KB_NAME IS not null; SELECT HEX(KB_GUID) AS KB_GUID FROM wizksent.wiz_tag; -- 查询能匹配上的wiz_tag记录(显示HEX格式的GUID) SELECT DISTINCT HEX(wt.KB_GUID) as KB_GUID_HEX, HEX(wt.TAG_GUID), wt.TAG_NAME, wk.KB_NAME, wk.KB_GUID as KB_GUID_ORIGINAL FROM wizksent.wiz_tag wt INNER JOIN wizasent.wiz_kb wk ON HEX(wt.KB_GUID) = UPPER(REPLACE(wk.KB_GUID, '-', '')) WHERE wk.KB_NAME IS NOT NULL ORDER BY wt.TAG_NAME, wk.KB_NAME; SELECT HEX(dt.TAG_GUID),d.* FROM wizksent.wiz_document d INNER JOIN wizksent.wiz_document_tag dt ON d.DOCUMENT_GUID = dt.DOCUMENT_GUID ORDER BY DT_CREATED; SELECT HEX(dt.TAG_GUID) as DOC_TAG_GUID_HEX, d.*, wt.TAG_NAME, wk.KB_NAME FROM wizksent.wiz_document d INNER JOIN wizksent.wiz_document_tag dt ON d.DOCUMENT_GUID = dt.DOCUMENT_GUID INNER JOIN wizksent.wiz_tag wt ON HEX(dt.TAG_GUID) = HEX(wt.TAG_GUID) INNER JOIN wizasent.wiz_kb wk ON HEX(wt.KB_GUID) = UPPER(REPLACE(wk.KB_GUID, '-', '')) WHERE wk.KB_NAME IS NOT NULL ORDER BY DT_CREATED; SELECT wk.KB_NAME as 一级目录, wt.TAG_NAME as 二级目录, COUNT(*) as 文档数量 FROM wizksent.wiz_document d INNER JOIN wizksent.wiz_document_tag dt ON d.DOCUMENT_GUID = dt.DOCUMENT_GUID INNER JOIN wizksent.wiz_tag wt ON dt.TAG_GUID = wt.TAG_GUID INNER JOIN wizasent.wiz_kb wk ON HEX(wt.KB_GUID) = UPPER(REPLACE(wk.KB_GUID, '-', '')) WHERE wk.KB_NAME IS NOT NULL GROUP BY wk.KB_NAME, wt.TAG_NAME ORDER BY wk.KB_NAME, wt.TAG_NAME; SELECT wk.KB_NAME as 一级目录, wt.TAG_NAME as 二级目录, COUNT(*) as 文档数量, MIN(d.DT_CREATED) as 最早创建时间, MAX(d.DT_CREATED) as 最晚创建时间 FROM wizksent.wiz_document d INNER JOIN wizksent.wiz_document_tag dt ON d.DOCUMENT_GUID = dt.DOCUMENT_GUID INNER JOIN wizksent.wiz_tag wt ON dt.TAG_GUID = wt.TAG_GUID INNER JOIN wizasent.wiz_kb wk ON HEX(wt.KB_GUID) = UPPER(REPLACE(wk.KB_GUID, '-', '')) WHERE wk.KB_NAME IS NOT NULL AND d.DT_CREATED >= '2025-10-01 00:00:00' AND d.DT_CREATED <= '2025-10-30 23:59:59' GROUP BY wk.KB_NAME, wt.TAG_NAME ORDER BY wk.KB_NAME, wt.TAG_NAME; SELECT wk.KB_NAME as 一级目录, wt.TAG_NAME as 二级目录, COUNT(*) as 文档数量, MIN(d.DT_CREATED) as 最早创建时间, MAX(d.DT_CREATED) as 最晚创建时间 FROM wizksent.wiz_document d INNER JOIN wizksent.wiz_document_tag dt ON d.DOCUMENT_GUID = dt.DOCUMENT_GUID INNER JOIN wizksent.wiz_tag wt ON dt.TAG_GUID = wt.TAG_GUID INNER JOIN wizasent.wiz_kb wk ON HEX(wt.KB_GUID) = UPPER(REPLACE(wk.KB_GUID, '-', '')) WHERE wk.KB_NAME IS NOT NULL AND d.DT_CREATED >= '2025-10-01 00:00:00' AND d.DT_CREATED <= '2025-10-30 23:59:59' GROUP BY wk.KB_NAME, wt.TAG_NAME ORDER BY wk.KB_NAME, wt.TAG_NAME; ```