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

Langage SQL Discussion :

Ajout d'un champs vide ?


Sujet :

Langage SQL

  1. #1
    Membre actif Avatar de Poussy-Puce
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 357
    Points : 222
    Points
    222
    Par défaut Ajout d'un champs vide ?
    Bonjour, j'ai une requête qui prend 4 à 6 sec. à exécuter:

    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
    23
    24
    25
    26
    27
     
    select latitude as [latitudeD], longitude as [longitudeD]
    into #tblLatLongDep from lassondetraiteur.dbo.zipcodes
    where postal_code = 'J0L 1M0'
     
    select top 50 
    raisocma as [l_Nom magasin], 
    numcivma + ' ' + nomruema as [l_Adresse], 
    nomvilma as [l_Ville], 
    provinma as [c_Province], 
    codposma as [c_Code Postal], 
    numtelma as [c_Téléphone], 
    datvisma as [c_Date dernière<br />visite], 
    lassondetraiteur.dbo.udf_DistanceEntre(latitudeD, longitudeD, latitude, longitude)  as [c_Distance<br />(KM)] 
    from prod2  
    inner join faci2a on codfoupr = codfoufa and numpropr = numprofa 
    inner join magas on codgrofa = codgroma and codbanfa = codbanma and codentfa = codentma and nummagfa = nummagma 
    inner join lassondetraiteur.dbo.Zipcodes on codposma =  replace(postal_code, ' ','') 
    cross join #tblLatLongDep  
    where codupcpr = '6731101033' 
    and proprefa = 'O' 
    and validema = 'V' 
    and datvisma > dateadd(day, -90, getDate()) 
    and lassondetraiteur.dbo.udf_DistanceEntre(latitudeD, longitudeD, latitude, longitude) <50
    order by 2
     
    drop table #tblLatLongDep
    J'essaye d'un rajouter un champs vide:
    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
    23
    24
    25
    26
    27
    28
     
    select latitude as [latitudeD], longitude as [longitudeD]
    into #tblLatLongDep from lassondetraiteur.dbo.zipcodes
    where postal_code = 'J0L 1M0'
     
    select top 50 
    '' as Test,
    raisocma as [l_Nom magasin], 
    numcivma + ' ' + nomruema as [l_Adresse], 
    nomvilma as [l_Ville], 
    provinma as [c_Province], 
    codposma as [c_Code Postal], 
    numtelma as [c_Téléphone], 
    datvisma as [c_Date dernière<br />visite], 
    lassondetraiteur.dbo.udf_DistanceEntre(latitudeD, longitudeD, latitude, longitude)  as [c_Distance<br />(KM)] 
    from prod2  
    inner join faci2a on codfoupr = codfoufa and numpropr = numprofa 
    inner join magas on codgrofa = codgroma and codbanfa = codbanma and codentfa = codentma and nummagfa = nummagma 
    inner join lassondetraiteur.dbo.Zipcodes on codposma =  replace(postal_code, ' ','') 
    cross join #tblLatLongDep  
    where codupcpr = '6731101033' 
    and proprefa = 'O' 
    and validema = 'V' 
    and datvisma > dateadd(day, -90, getDate()) 
    and lassondetraiteur.dbo.udf_DistanceEntre(latitudeD, longitudeD, latitude, longitude) <50
    order by 2
     
    drop table #tblLatLongDep
    Et après 2 min. d'attente j'ai toujours pas le résultat de ma requête!!

    Est-ce que quelqu'un saurait me dire ce qui m'échape!!!

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 849
    Points : 52 975
    Points
    52 975
    Billets dans le blog
    6
    Par défaut
    Essayez directement sans passer par une table temporaire :

    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
    SELECT top 50 
    CAST('' AS VARCHAR(50)) AS Test,
    raisocma AS [l_Nom magasin], 
    numcivma + ' ' + nomruema AS [l_Adresse], 
    nomvilma AS [l_Ville], 
    provinma AS [c_Province], 
    codposma AS [c_Code Postal], 
    numtelma AS [c_Téléphone], 
    datvisma AS [c_Date dernière<br />visite], 
    lassondetraiteur.dbo.udf_DistanceEntre(T2.latitude, T2.longitude, T1.latitude, T1.longitude)  AS c_Distance_KM 
    FROM prod2  
    INNER JOIN faci2a ON codfoupr = codfoufa AND numpropr = numprofa 
    INNER JOIN magas ON codgrofa = codgroma AND codbanfa = codbanma AND codentfa = codentma AND nummagfa = nummagma 
    INNER JOIN lassondetraiteur.dbo.Zipcodes AS T1 ON codposma =  REPLACE(postal_code, ' ','') 
    CROSS JOIN lassondetraiteur.dbo.zipcodes AS T2
    WHERE codupcpr = '6731101033' 
    AND proprefa = 'O' 
    AND validema = 'V' 
    AND datvisma > dateadd(day, -90, getDate()) 
    AND lassondetraiteur.dbo.udf_DistanceEntre(T2.latitude, T2.longitude, T1.latitude, T1.longitude) < 50
    AND T2.postal_code = 'J0L 1M0'
    ORDER BY 2

    Ceal dit les UDF comme udf_DistanceEntre sont très contre performantes. Les avez vous codées en SQL CLR ???

    A +

Discussions similaires

  1. [Débutant] afficher Gridview avec champs vide permettant l'ajout de donnée
    Par Linconnu dans le forum ASP.NET
    Réponses: 2
    Dernier message: 30/07/2012, 09h39
  2. ajouter un champ vide dans un dropdownlist
    Par mvc_dev dans le forum ASP.NET
    Réponses: 2
    Dernier message: 28/03/2011, 17h40
  3. Réponses: 3
    Dernier message: 12/05/2009, 14h22
  4. [PostGreSQL] Requête d'insertion qui ajoute des champs vides
    Par civodultrebor37 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 30/10/2006, 14h16
  5. tri avec les champs vides en dernier
    Par r-zo dans le forum Requêtes
    Réponses: 11
    Dernier message: 03/09/2003, 13h40

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