Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/08/2011, 11h48   #1
Invité de passage
 
Inscription : janvier 2010
Messages : 33
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 33
Points : 0
Points : 0
Par défaut Selection et comparaison sur resultat de requête

Bonjour à tous,

J'ai commencé une requête:
Code :
1
2
3
4
5
SELECT ct.sym AS Change_cat, sdc.sym AS service_type 
FROM chgcat ct
LEFT OUTER JOIN srv_desc sdc ON sdc.code=ct.service_type
WHERE sdc.sym IS NOT NULL
ORDER BY(ct.sym)
Celle ci me sort une enorme liste de resultat de ce type.
Changes for IT teams.APPRO OFFRE.1_OFFRE.1_Unit Modification D5_S
Changes for IT teams.APPRO OFFRE.1_OFFRE.1_Unit Modification D5_P
Changes for IT teams.APPRO OFFRE.1_OFFRE.1_Unit Modification D5_W
Changes for IT teams.APPRO OFFRE.1_OFFRE.1_Unit Modification D5_H
Changes for IT teams.APPRO OFFRE.1_OFFRE.2_Mass Modification D10_H
Changes for IT teams.APPRO OFFRE.1_OFFRE.2_Mass Modification D10_W
Changes for IT teams.APPRO OFFRE.1_OFFRE.2_Mass Modification D10_P
Changes for IT teams.APPRO OFFRE.1_OFFRE.2_Mass Modification D10_S


Le but initial de ma requête est de selectionner toutes les catégories (débutant par "changes"...) qui ont un nom identique mais ayant une durée differente. Attention les durées par exemple D5_S et D5_W sont les mêmes, seul le chiffre dans l'intitulé de la durée compte.

J'espère avoir été clair, car je ne sais pas du tout comment procéder.

Merci d'avance.

TipX
Fingertip est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 14h07   #2
Modérateur
 
Avatar de Jinroh77
 
Homme Alexandre Chemla
Consultant en Business Intelligence
Inscription : février 2006
Messages : 1 773
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Chemla
Âge : 28
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : février 2006
Messages : 1 773
Points : 1 837
Points : 1 837
Comment voulez-vous que l'on puisse vous aider à construire une requête si vous ne fournissez même pas la structure de vos table et peut-être un jeu d'essai...
Jetez un coup d’œil aux règles du forum pour comprendre comment procéder.
__________________
Alexandre Chemla - Consultant MS BI chez Masao
Jinroh77 est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/08/2011, 14h33   #3
Invité de passage
 
Inscription : janvier 2010
Messages : 33
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 33
Points : 0
Points : 0
Oui c'est vrai, j'ai posté trop vite, mais je pensais pas que vous en auriez besoin avec le morceau de requête déjà fourni.

Voici la structure de ma table chgcat (celle qui liste l'ensemble des catégories):
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
CREATE TABLE [dbo].[chgcat](
	[id] [int] NOT NULL,
	[persid] [nvarchar](30) NULL,
	[del] [int] NOT NULL,
	[sym] [nvarchar](1000) NOT NULL,
	[code.] [nvarchar](12) NOT NULL,
	[last_mod_dt] [int] NULL,
	[last_mod_by] [BINARY](16) NULL,
	[description] [nvarchar](500) NULL,
	[organization] [BINARY](16) NULL,
	[assignee] [BINARY](16) NULL,
	[group_id] [BINARY](16) NULL,
	[children_ok] [int] NOT NULL,
	[service_type] [nvarchar](30) NULL,
	[survey] [int] NULL,
	[schedule] [int] NULL,
	[auto_assign] [int] NULL,
	[owning_contract] [int] NULL,
	[cawf_defid] [nvarchar](40) NULL,
	[zNeedCI] [int] NULL,
	[zNeedSoft] [int] NULL,
	[tenant] [BINARY](16) NULL,
	[chgtype] [int] NULL,
	[cab] [BINARY](16) NULL,
	[risk_survey] [int] NULL,
	[ss_sym] [nvarchar](128) NULL,
	[ss_include] [int] NULL,
	[caextwf_start_id] [int] NULL,
	[flow_flag] [int] NULL,
 CONSTRAINT [XPKchgcat] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]
 
GO

Et celle de ma table srv_desc (celle qui liste l'ensemble des priorité (D5 D10 etc..))
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
CREATE TABLE [dbo].[srv_desc](
	[id] [int] NOT NULL,
	[persid] [nvarchar](30) NULL,
	[del] [int] NOT NULL,
	[sym] [nvarchar](60) NULL,
	[last_mod_dt] [int] NULL,
	[last_mod_by] [BINARY](16) NULL,
	[description] [nvarchar](500) NULL,
	[code.] [nvarchar](30) NOT NULL,
	[rank] [int] NULL,
	[schedule] [nvarchar](30) NULL,
	[owning_contract] [int] NULL,
	[violation_cost] [int] NULL,
	[timezone] [nvarchar](30) NULL,
	[use_cnt_tz] [int] NULL,
	[tenant] [BINARY](16) NULL,
 CONSTRAINT [XPKsrv_desc] PRIMARY KEY CLUSTERED 
(
	[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON, FILLFACTOR = 90) ON [PRIMARY]
) ON [PRIMARY]
 
GO
Les colonnes sym des deux tables comportent l'intitulé de la de la catégorie ou de la priorité.
Fingertip est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 14h51   #4
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
C'est de la maintenance sur de l'existant ou vous etes a demarrer un projet?
Si vous demarrez, revoyez urgemment votre modele de données ... sinon, ce sont des requetes epouvantables a écrire et contre performantes
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 15h00   #5
Invité de passage
 
Inscription : janvier 2010
Messages : 33
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 33
Points : 0
Points : 0
De l'existant...

Mais en soit je cherche juste un modèle de requete me permettant d'arriver à mes fins.

J'ai juste besoin a partir du resultat de la requête précédente, d'obtenir toute les catégories ayant un nom identique mais dont la priorité change.
Fingertip est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 15h16   #6
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
Dans votre réponse

Citation:
Changes for IT teams.APPRO OFFRE.1_OFFRE.1_Unit Modification D5_S
Que représente ct.sym et sdc.sym ?
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 15h50   #7
Invité de passage
 
Inscription : janvier 2010
Messages : 33
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 33
Points : 0
Points : 0
ct.sym représente toute la partie "Change for..."
sdc.sym représente la partie D5_S
Fingertip est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 16h30   #8
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
essayez alors ce genre de chose


Code :
1
2
3
4
5
6
7
8
9
10
SELECT 
	ct.sym AS Change_cat
FROM
	chgcat ct
INNER JOIN
	srv_desc sdc ON (sdc.code=ct.service_type)
GROUP BY
	ct.sym,
	SUBSTRING (sdc.sym ,1, patindex ('%_%', sdc.sym ))
HAVING count(1)>1
Bon courage
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 17h48   #9
Invité de passage
 
Inscription : janvier 2010
Messages : 33
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 33
Points : 0
Points : 0
Votre requête ne fait que me ressortir l'intégratité de mes catégories.

Je pense que cela vient du format de sdc.sym qui par exemple change entre D5_S, D5_W, D5_P, ces valeurs étant au final les mêmes.
La différence se faisant entre D5_S et D10_S par exemple.

J'ai tenté de modifié la partie patindex mais soit j'obtiens la totalité des réulstats, soit aucun...
Fingertip est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 10h06   #10
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
Mettez aussi le substring dans le select, pour verifier ce qu'il vous renvoie...
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h56.


 
 
 
 
Partenaires

Hébergement Web