Abfrage will nicht so wie ich

28/02/2008 - 11:13 von Wolfgang Rhein | Report spam
Hallo NG,

ich habe ein Problem mit einer Abfrage/Sammlung die mir einfach nicht das
richtigen Ergebnis liefert. Also meine Abfrage soll mir alle PCs liefern die
ein Office installiert haben aber kein 2007. Version und auch kein
Compatibiliy Pack installiert haben.

Leider giebt es beim Comp. Pack mehrere Versionen!!

Ich habe mir als Erstes eine Sammlung gebaut die mir alle PCs die ein Office
installiert haben Darstellt.
select
SMS_R_System.ResourceID,SMS_R_System.ResourceType,SMS_R_System.Name,SMS_R_System.SMSUniqueIdentifier,SMS_R_System.ResourceDomainORWorkgroup,SMS_R_System.Client
from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on
SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where
SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "Microsoft Office%"

Die eigentlich Abfrage sieht so aus.
select
SMS_R_System.ResourceID,SMS_R_System.ResourceType,SMS_R_System.Name,SMS_R_System.SMSUniqueIdentifier,SMS_R_System.ResourceDomainORWorkgroup,SMS_R_System.Client
from SMS_R_System where UPPER(Name) not in (select distinct
SMS_R_System.Name from SMS_R_System inner join
SMS_G_System_ADD_REMOVE_PROGRAMS on
SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where
SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "Microsoft Office%2007"
and not (SMS_G_System_ADD_REMOVE_PROGRAMS.ProdID =
"{95120000-0052-0409-0000-0000000ff1ce}" or
SMS_G_System_ADD_REMOVE_PROGRAMS.ProdID =
"{95120000-0052-0407-0000-0000000ff1ce}" or
SMS_G_System_ADD_REMOVE_PROGRAMS.ProdID =
"{90120000-0020-0409-0000-0000000ff1ce}" or
SMS_G_System_ADD_REMOVE_PROGRAMS.ProdID =
"{90120000-0020-0407-0000-0000000ff1ce}"))

An diese Sammlung lasse ich automatisch das Comp Pack installieren und zuwar
in Englisch. Leider weisen nun mansche PC zwei Comp Pack auf Deutsch aus
auch Englisch. Trotz das ich auf beide Sprachversionen in der Abfrage
eingehe/überprüfe.

Hat jemand eine Idee was ich falsch mache?

Vorab Danke!

Gruß

Wolfgang
 

Lesen sie die antworten

#1 Torsten [MVP]
28/02/2008 - 12:36 | Warnen spam
Hallo Wolfgang,

das Konstrukt mit "and not" ist vermutlich der Übeltàter. Versuche mal,
dieses durch ein "not in" zu ersetzen. (Also nicht nur die beiden Wörter
ersetzen, sondern ein subselect erstellen).

Gruß,
Torsten

"Wolfgang Rhein" wrote:

Hallo NG,

ich habe ein Problem mit einer Abfrage/Sammlung die mir einfach nicht das
richtigen Ergebnis liefert. Also meine Abfrage soll mir alle PCs liefern die
ein Office installiert haben aber kein 2007. Version und auch kein
Compatibiliy Pack installiert haben.

Leider giebt es beim Comp. Pack mehrere Versionen!!

Ich habe mir als Erstes eine Sammlung gebaut die mir alle PCs die ein Office
installiert haben Darstellt.
select
SMS_R_System.ResourceID,SMS_R_System.ResourceType,SMS_R_System.Name,SMS_R_System.SMSUniqueIdentifier,SMS_R_System.ResourceDomainORWorkgroup,SMS_R_System.Client
from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on
SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where
SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "Microsoft Office%"

Die eigentlich Abfrage sieht so aus.
select
SMS_R_System.ResourceID,SMS_R_System.ResourceType,SMS_R_System.Name,SMS_R_System.SMSUniqueIdentifier,SMS_R_System.ResourceDomainORWorkgroup,SMS_R_System.Client
from SMS_R_System where UPPER(Name) not in (select distinct
SMS_R_System.Name from SMS_R_System inner join
SMS_G_System_ADD_REMOVE_PROGRAMS on
SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where
SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "Microsoft Office%2007"
and not (SMS_G_System_ADD_REMOVE_PROGRAMS.ProdID =
"{95120000-0052-0409-0000-0000000ff1ce}" or
SMS_G_System_ADD_REMOVE_PROGRAMS.ProdID =
"{95120000-0052-0407-0000-0000000ff1ce}" or
SMS_G_System_ADD_REMOVE_PROGRAMS.ProdID =
"{90120000-0020-0409-0000-0000000ff1ce}" or
SMS_G_System_ADD_REMOVE_PROGRAMS.ProdID =
"{90120000-0020-0407-0000-0000000ff1ce}"))

An diese Sammlung lasse ich automatisch das Comp Pack installieren und zuwar
in Englisch. Leider weisen nun mansche PC zwei Comp Pack auf Deutsch aus
auch Englisch. Trotz das ich auf beide Sprachversionen in der Abfrage
eingehe/überprüfe.

Hat jemand eine Idee was ich falsch mache?

Vorab Danke!

Gruß

Wolfgang



Ähnliche fragen