Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
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 04/03/2011, 18h11   #1
Invité de passage
 
Inscription : septembre 2007
Messages : 15
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 15
Points : 2
Points : 2
Par défaut [Noob] Select dans un select

Salut, haissant le SQL j'ai quelques questions de noob

(J'utilise SQL express 2005, le 2008 ne veut pas me montrerSQL Server Management Studio Express lol ):

1) Que tapper dans le moteur de recherche pour trouver des exemples pour microsoft SQL car j'ai l'impression que certain mot clefs ne marchent pas.. ou bien c'est des exemple MySQL ou Oracle

2)J'utilise SQL Server Management Studio Express pour "voir" mes tables, le querry designer est pas mal mais existe-il d'autre logiciel ou application pour générer "visuelement des requêtes".


3)Quelqu'un peut me dire si on perd vraiment du temps à copier la table telle quelle dans mon application C# et ensuite TRIER via mes propre methodes ?



4) Sinon mon souci est le suivant, je cherche à trouver le nombre de ligne avec un champs appelé "ID" sans doublon

voila ce que j'ai réussi à faire lol :

Code :
1
2
3
4
5
6
7
 
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'totalbyid' AND type ='V')
    DROP VIEW totalbyid 
GO
CREATE VIEW totalbyid AS SELECT DISTINCT ID FROM  visit;
GO
SELECT count( *) FROM  dbo.totalb

J'aimerais si possible le faire sans la vue mais je trouve pas la syntaxe exacte

Merci
moijekikoote est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2011, 18h27   #2
Membre Expert
 
Homme
Développeur java, access, sql server
Inscription : octobre 2005
Messages : 851
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Développeur java, access, sql server
Secteur : Industrie

Informations forums :
Inscription : octobre 2005
Messages : 851
Points : 1 302
Points : 1 302
Code :
SELECT COUNT(*) AS Nb FROM (SELECT DISTINCT ID FROM  visit) AS X
Cela s'appelle une sous-requête. Tu en auras souvent besoin c'est pourquoi j'ai mis la syntaxe.

Sinon pour ton cas particulier, il y a une syntaxe encore plus simple :
Code :
SELECT COUNT(DISTINCT ID) AS Nb FROM  visit
__________________
D'abord qu'il marche. Ensuite qu'il soit rapide. Enfin qu'il soit agréable à utiliser.
First, make it work. Then, make it fast. Finally, make it user-friendly.
Erst, mach', dass es funktioniert. Dann, mach', dass es schnell geht, Zum Schluss mach' es benutzerfreundlich.
Népomucène est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2011, 18h27   #3
Membre Expert
 
Inscription : janvier 2010
Messages : 1 084
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2010
Messages : 1 084
Points : 1 573
Points : 1 573
bonjour
Citation:
Envoyé par moijekikoote Voir le message
haissant le SQL j'ai quelques questions de noob
il est fort aimable pourtant !

Citation:
1) Que tapper dans le moteur de recherche pour trouver des exemples pour microsoft SQL car j'ai l'impression que certain mot clefs ne marchent pas.. ou bien c'est des exemple MySQL ou Oracle
heu... ben... "MS SQL Server" par exemple...
ou "TSQL" qui est à SQL Server ce que PL/SQL est à Oracle

Citation:
3)Quelqu'un peut me dire si on perd vraiment du temps à copier la table telle quelle dans mon application C# et ensuite TRIER via mes propre methodes ?
oui et pas qu'un peu !
et pour plusieurs raisons (liste non exhaustive...)
1/ penses-tu vraiment que ton algo de tri sera meilleur que les algos de tri de SQL Server, issus de milliers d'heures de R&D ?
2/ je dis bien les algos, car SQL Server utilisera le meilleur algo pour trier au plus vite les données, en fonction de leur volume, de la memoire dispo, etc
3/si tu as des index, les données sont déjà triées, et SQL Server ne les retriera pas. Alors que ton algo si !
4/...

Et pour ton problème une seule ligne suffit :

Code SQL :
1
2
 
SELECT COUNT(DISTINCT ID) FROM  visit;

tu vois, il n'y a pas de quoi le haïr

(cela dit, vu le nom de la colonne, si tu as des doublons, je pense que tu as un problème...)
aieeeuuuuu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2011, 18h40   #4
Invité de passage
 
Inscription : septembre 2007
Messages : 15
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 15
Points : 2
Points : 2
ouais lol en fait c'est pas mon vértiable ID unique;

le nom ID étant le diminutif de STEAM_ID de Steam (Valve);

le nom est mal choisi je suis d'accord.



merci de vos réponses rapides et courtoises
moijekikoote est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h58.


 
 
 
 
Partenaires

Hébergement Web