Вот vbs сценарий, который был передан мне:
Set servicelist = GetObject("winmgmts:").InstancesOf ("Win32_Service")
for each service in servicelist
sname = lcase(service.name)
If sname = "NameOfMyService" Then
msgbox(sname)
service.delete ' the internal name of your service
end if
next
@ VoteyDisciple ответ находится на правильном пути, но его запрос требует некоторых улучшений:
SELECT c.id, c.title,
SUM(ts1.section_id = 1) AS doc1,
SUM(ts1.section_id = 2) AS doc2,
SUM(ts1.section_id = 3) AS doc3,
SUM(ts1.section_id = 4) AS doc4
FROM category AS c
LEFT JOIN category_link_section AS ts1
ON (c.id = ts1.category_id)
GROUP BY c.id;
Пояснения:
IF ()
выражения являются избыточными, поскольку равенство уже возвращает 1 или 0. ts1.section_id = 1
из условия соединения, иначе вы никогда не получите других значений section_id
. c.id
. Я предполагаю, что OP хочет только одну строку для каждой категории и столбцы для количества каждого значения section_id
для соответствующей категории. Если запрос сгруппирован по c.id, ts1.section_id
, то будет до четырех строк на категорию. Вы можете попробовать что-то вроде этого:
SELECT
category.id
, category.title
, SUM(IF(ts1.section_id = 1, 1, 0)) AS doc1
, SUM(IF(ts1.section_id = 2, 1, 0)) AS doc2
, SUM(IF(ts1.section_id = 3, 1, 0)) AS doc3
, SUM(IF(ts1.section_id = 4, 1, 0)) AS doc4
FROM
category
LEFT JOIN category_link_section AS ts1
ON (category.id = ts1.category_id AND ts1.section_id = 1)
GROUP BY category.id, ts1.section_id