IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Select dans un select [Débutant(e)]


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 15
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    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 : 2 713
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT COUNT(DISTINCT ID) As Nb FROM  visit
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    bonjour
    Citation Envoyé par moijekikoote Voir le message
    haissant le SQL j'ai quelques questions de noob
    il est fort aimable pourtant !

    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

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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...)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 15
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Selection d'une selection dans un filtre
    Par Swiper dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/07/2007, 19h26
  2. changement de formulaire sur selection dans le select
    Par LeXo dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 15/06/2006, 11h51
  3. select dans un select
    Par Terminator dans le forum Langage SQL
    Réponses: 7
    Dernier message: 20/10/2005, 18h23
  4. [firebird] sous select dans un select
    Par gdido dans le forum SQL
    Réponses: 2
    Dernier message: 14/05/2004, 09h57
  5. [Sybase] Select dans une select loop en C
    Par Claudio dans le forum Sybase
    Réponses: 2
    Dernier message: 29/04/2003, 18h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo