Я решил написать сообщение на форуме, чтобы спросить, может быть, у кого-то была похожая задача или у него есть опыт работы с SQL, чтобы помочь мне с отчетом, который я должен предоставить.
Что мне нужно сделать, вытащить данныеполучить все категории без подкатегорий из базы данных.К сожалению, в базе данных есть расхождения, потому что некоторые записи имеют разный формат, и некоторые из них содержат разные нечетные символы, а также нули.
Мне удалось удалить те, которые содержат конечный тег '>', но я борюсь с удалением другихперсонажи.Ниже приведен мой текущий запрос с текущим выводом и ожидаемым результатом.
Пожалуйста, кто-нибудь может посмотреть и помочь, если это возможно.
SELECT
SUBSTRING(Category, 1 ,
CASE
WHEN CHARINDEX('>', Category) = 0 THEN LEN(Category)
WHEN CHARINDEX(',', Category) = -1 THEN LEN(Category)
ELSE CHARINDEX('>', Category) -1
END) AS 'Category',
COUNT(Category) AS 'No. Listings'
FROM
tbl_Listing
GROUP BY
SUBSTRING(Category, 1 ,
CASE
WHEN CHARINDEX('>', Category) = 0 THEN LEN(Category)
WHEN CHARINDEX(',', Category) = -1 THEN LEN(Category)
ELSE CHARINDEX('>', Category) -1
END) AS 'Category',
В настоящее время
ID ¦ Category ¦
---+-----------------------------
1 | eating,places-to-go
2 | education,clubs,
3 | education,library.
4 | education,parties.
5 | local-service/,
6 | places-to-go,service,
7 | Null
Ожидаетсярезультат
ID ¦ Category ¦
---+-----------------------------
1 | eating
2 | education
3 | education
4 | education
5 | local-service
6 | places,
7 | Null