OVH Cloud OVH Cloud

comparer ces deux requêtes...

2 réponses
Avatar
Kigner
Bien le bonjour !
Mon problème est le suivant;

ci-dessous 2 requêtes, je dois utiliser la deuxième, mais celle-ci me
renvoit une valeur null pour chaques version trouvée alors que cette valeur
n'éxiste pas dans la table...

avez-vous une idée ?

d'avance, MERCI

select distinct syst.Netbios_name0, syst.Resource_domain_or_Workgr0,
syst.Operating_system_name_and0, prod.Productversion as 'NetBackup'
from system_disc as syst
inner join Softwareinventory as sinv on sinv.clientID = syst.Itemkey
inner join SoftwareProduct as prod on sinv.ProductID = prod.ProductID
where (netbios_name0 like 'v%' or netbios_name0 like 'd%') and
prod.ProductName = 'NetBackup'
order by netbios_name0



select distinct syst.Netbios_name0, syst.Resource_domain_or_Workgr0,
syst.Operating_system_name_and0,
(select Productversion from Softwareproduct where ProductName = 'NetBackup'
and ProductID = sinv.ProductID) as 'NetBackup'
from system_disc as syst
inner join Softwareinventory as sinv on sinv.clientID = syst.Itemkey
inner join SoftwareProduct as prod on sinv.ProductID = prod.ProductID
where (netbios_name0 like 'v%' or netbios_name0 like 'd%') order by
netbios_name0
salutation et agréable après-midi,

2 réponses

Avatar
Patrice
Si il n'y a rien dans la table donc le SELECT ne renvoie rien et le champ
correspondant est NULL. Cela me parait normal ?

Sans connaitre le schéma, le fait de tester sur le productId (qui change
j'imagine à chaque fois) et le productname me parait un peu bizarre mais bon
je ne connais pas ton schéma.

En fonction de ce que tu veux :
- ne garder que les lignes ayant un "NetBackup" pour le même ProductId (??)
: une troisième jointure sur la même table te permettrait de garder les
lignes concernées
- ne garder que les lignes pour le produit "NetBackup" : tu pourrais ajouter
ce test dans la clause WHERE (cela serait la première, qu'est ce qui ne te
plait pas dans celle là ?)

Explique peut-être le résultat que tu veux obtenir...

Patrice

--

"Kigner" a écrit dans le message de
news:
Bien le bonjour !
Mon problème est le suivant;

ci-dessous 2 requêtes, je dois utiliser la deuxième, mais celle-ci me
renvoit une valeur null pour chaques version trouvée alors que cette


valeur
n'éxiste pas dans la table...

avez-vous une idée ?

d'avance, MERCI

select distinct syst.Netbios_name0, syst.Resource_domain_or_Workgr0,
syst.Operating_system_name_and0, prod.Productversion as 'NetBackup'
from system_disc as syst
inner join Softwareinventory as sinv on sinv.clientID = syst.Itemkey
inner join SoftwareProduct as prod on sinv.ProductID = prod.ProductID
where (netbios_name0 like 'v%' or netbios_name0 like 'd%') and
prod.ProductName = 'NetBackup'
order by netbios_name0



select distinct syst.Netbios_name0, syst.Resource_domain_or_Workgr0,
syst.Operating_system_name_and0,
(select Productversion from Softwareproduct where ProductName 'NetBackup'
and ProductID = sinv.ProductID) as 'NetBackup'
from system_disc as syst
inner join Softwareinventory as sinv on sinv.clientID = syst.Itemkey
inner join SoftwareProduct as prod on sinv.ProductID = prod.ProductID
where (netbios_name0 like 'v%' or netbios_name0 like 'd%') order by
netbios_name0
salutation et agréable après-midi,




Avatar
Fred BROUARD
Pourquoi ne pas faire :


select distinct syst.Netbios_name0, syst.Resource_domain_or_Workgr0,
syst.Operating_system_name_and0, Productversion as 'NetBackup'

from system_disc as syst
inner join Softwareinventory as sinv
on sinv.clientID = syst.Itemkey
inner join SoftwareProduct as prod
on sinv.ProductID = prod.ProductID
inner join SoftwareProduct as prod2
on prod2.ProductID = sinv.ProductID
AND ProductName = 'NetBackup'

where netbios_name0 like 'v%'
or netbios_name0 like 'd%'

order by netbios_name0

A +

--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************

Kigner a écrit:
Bien le bonjour !
Mon problème est le suivant;

ci-dessous 2 requêtes, je dois utiliser la deuxième, mais celle-ci me
renvoit une valeur null pour chaques version trouvée alors que cette valeur
n'éxiste pas dans la table...

avez-vous une idée ?

d'avance, MERCI

select distinct syst.Netbios_name0, syst.Resource_domain_or_Workgr0,
syst.Operating_system_name_and0, prod.Productversion as 'NetBackup'
from system_disc as syst
inner join Softwareinventory as sinv on sinv.clientID = syst.Itemkey
inner join SoftwareProduct as prod on sinv.ProductID = prod.ProductID
where (netbios_name0 like 'v%' or netbios_name0 like 'd%') and
prod.ProductName = 'NetBackup'
order by netbios_name0



select distinct syst.Netbios_name0, syst.Resource_domain_or_Workgr0,
syst.Operating_system_name_and0,
(select Productversion from Softwareproduct where ProductName = 'NetBackup'
and ProductID = sinv.ProductID) as 'NetBackup'
from system_disc as syst
inner join Softwareinventory as sinv on sinv.clientID = syst.Itemkey
inner join SoftwareProduct as prod on sinv.ProductID = prod.ProductID
where (netbios_name0 like 'v%' or netbios_name0 like 'd%') order by
netbios_name0
salutation et agréable après-midi,