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 :

Probleme de requette


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Points : 40
    Points
    40
    Par défaut Probleme de requette
    Voila mon probleme :
    J'ai une table avec une colonne date.
    Je voudrais selectionner toute les lignes, et faire un order by different selon que la date soit passee ou future ?

    je ne sais pas si c tres calir, mais je pense..!

    en vous remerkiant
    Pourquoi un PC fait-il toujours ce qu'on lui demande, mais alors jamais ce qu'on veut...

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 566
    Points
    19 566
    Billets dans le blog
    25
    Par défaut
    Ca, ce serait sympa, mis ce n'est malheureusement pas possible en SQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select * from MaTable
    where Madate>getdate()
    order by Madate ASC
    union
    select * from MaTable
    where Madate<=getdate()
    order by Madate DESC
    Il reste donc l'utilisation de la procedure stockee
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    create proc Mesdates as
    begin
    create table #tmp
    (id numeric(10,0) identity, dte datetime, ...)
     
    insert into #tmp
    select * from MaTable
    where Madate>getdate()
    order by Madate ASC
     
    insert into #tmp
    select * from MaTable
    where Madate<=getdate()
    order by Madate DESC
     
    select * from #tmp
    order by ID
     
    drop table #tmp
    end
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Points : 40
    Points
    40
    Par défaut
    merki bien... je vais checker ca..!
    Pourquoi un PC fait-il toujours ce qu'on lui demande, mais alors jamais ce qu'on veut...

  4. #4
    Membre du Club
    Inscrit en
    Mars 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 63
    Points : 40
    Points
    40
    Par défaut
    ca marche bien, j'ai mon code comme, mais si je veux trier sur un substring, ca veut pas, comment faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    CREATE PROCEDURE dbo.DateRequest (@myType Varchar(20))
    AS
    begin 
    create table #tmp 
    (id numeric(10, 0)  identity, ContactUniqueID Int, Date_Requested datetime, Type varchar(20), Requested_By varchar(50), Form_Type varchar(10), System_Date datetime, Updated bit, User_Date Datetime, User_Updated bit, Telecom_Updated bit , Equipment_Update bit, tmp varchar(1))
     
    insert into #tmp 
    select  ContactUniqueID , Date_Requested , Type, Requested_By , Form_Type , System_Date , Updated , User_Date , User_Updated , Telecom_Updated  , Equipment_Updated from Main_Contact_Info_Bis, Substring(Type, 1, 1)
    where User_date< getdate() 
    and Updated='0' 
    and Substring(Form_Type,1,1) <> 'P' 
    and @myType <>'1'
    order by Substring(Type, 1, 1), User_Date
     
    insert into #tmp 
    select ContactUniqueID , Date_Requested , Type, Requested_By , Form_Type , System_Date , Updated , User_Date , User_Updated , Telecom_Updated  , Equipment_Updated from Main_Contact_Info_Bis
    where User_date >=getdate() 
    and Updated='0' 
    and Substring(Form_Type,1,1) <> 'P' 
    and @myType <>'1'
    order by User_Date
    je pense que c'est a cause de la denomination de la colonne tmp, alors que dedans je met substring(Type, 1 ,1 )... mais bon, je ne vois pas trop comment fixer ca..!
    any idea ?
    Pourquoi un PC fait-il toujours ce qu'on lui demande, mais alors jamais ce qu'on veut...

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

Discussions similaires

  1. probleme de requette sql
    Par belakhdarbts10 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/05/2007, 11h06
  2. [Système] Probleme de requette HTTP sur fichier php
    Par thenightmare1985 dans le forum Langage
    Réponses: 1
    Dernier message: 26/10/2006, 11h36
  3. [VBA-A] probleme de requette
    Par lumbroso dans le forum VBA Access
    Réponses: 18
    Dernier message: 22/05/2006, 08h57
  4. Probleme de requette
    Par DrTank dans le forum Langage SQL
    Réponses: 5
    Dernier message: 02/05/2005, 18h14
  5. probleme de requette qui fait planter powergres
    Par fehmitn dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 15/09/2004, 18h48

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