Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1271 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQLSERVER] set ansi_paddings etc

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQLSERVER] set ansi_paddings etc

n°2043566
Profil sup​primé
Posté le 21-12-2010 à 16:37:57  answer
 

Salut,
je me retrouve devant un problème étrange.
Soit cette query:

Code :
  1. SELECT
  2.        min(d.date) AS date, min(d.week_day) week_day, d.year, d.month, d.day,
  3.        e1.event_options AS [type],
  4.        COUNT(DISTINCT e1.visitor_id) AS [shown],
  5.        COUNT(DISTINCT (e1.visitor_id + e2.visitor_id)) AS [clicked],
  6.        round(cast(COUNT(DISTINCT (e1.visitor_id + e2.visitor_id)) AS float) / COUNT(DISTINCT e1.visitor_id) * 100 ,2) AS [click_rate],
  7.        COUNT(DISTINCT (e1.visitor_id + e3.visitor_id)) AS [formul2],
  8.        COUNT(DISTINCT (e1.visitor_id + e4.visitor_id)) AS [formul7],
  9.        COUNT(DISTINCT (e1.visitor_id + e3.visitor_id)) + COUNT(DISTINCT (e1.visitor_id + e4.visitor_id)) AS [total],
  10.        round(cast(COUNT(DISTINCT (e1.visitor_id + e3.visitor_id)) + COUNT(DISTINCT (e1.visitor_id + e4.visitor_id)) AS float) / COUNT(DISTINCT e1.visitor_id) * 100 , 2) AS [conversion_rate]
  11.      FROM
  12.        LOCALDB.dbo.l_dates d
  13.      LEFT JOIN
  14.        CLIENTDB.dbo.events e1 (NOLOCK)
  15.        ON CONVERT (varchar(10), d.date, 102) = CONVERT (varchar(10), e1.date, 102)
  16.      LEFT JOIN
  17.        CLIENTDB.dbo.events e2 (NOLOCK)
  18.        ON e1.visit_id = e2.visit_id
  19.        AND e2.event_name = 'popin_social_kwartaal'
  20.        AND e2.event_status = 'completed'
  21.      LEFT JOIN
  22.        CLIENTDB.dbo.events e3 (NOLOCK)
  23.        ON e1.visitor_id = e3.visitor_id
  24.        AND e3.event_options = 'formul2'
  25.        AND e3.event_status = 'step5' AND e3.date > e1.date
  26.        AND CONVERT (varchar(10), e1.date, 102) = CONVERT (varchar(10), e3.date, 102)
  27.      LEFT JOIN
  28.        CLIENTDB.dbo.events e4 (NOLOCK)
  29.        ON e1.visitor_id = e4.visitor_id
  30.        AND e4.event_options = 'formul7'
  31.        AND e4.event_status = 'step5' AND e4.date > e1.date
  32.        AND CONVERT (varchar(10), e1.date, 102) = CONVERT (varchar(10), e4.date, 102)
  33.      WHERE
  34.        e1.event_status = 'onload'
  35.        AND d.date BETWEEN '2010-12-01' AND '2010-12-20'
  36.        AND e1.event_name = 'popin_social_kwartaal'
  37.      GROUP BY
  38.        d.year, d.month, d.day, e1.event_options
  39.      ORDER BY
  40.          d.year, d.month, d.day, e1.event_options


 
je ne clean pas car je ne sais pas d'où ça vient, peut-être des NOLOCK...
 
Si je lance ça dans SQL Studio, j'ai mes données, pas de soucis.
Maintenant si je la lance à partir de PHP les données n'ont absolument rien n'à voir.
 
En trifouillant le code, j'ai trouvé ceci:

Code :
  1. $sql = 'set quoted_identifier on;';
  2.         $sql .= 'set ansi_warnings on;';
  3.         $sql .= 'set ansi_padding on;';
  4.         $sql .= 'set ansi_nulls on;';
  5.         $sql .= 'set concat_null_yields_null on';
  6.         $result =  parent::query($sql);


Et effectivement, quand je lance ça avant ma grosse query, j'ai les mêmes résultats.
Une explication ?  :sweat:

mood
Publicité
Posté le 21-12-2010 à 16:37:57  profilanswer
 

n°2045209
Profil sup​primé
Posté le 30-12-2010 à 17:39:49  answer
 

up :d


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQLSERVER] set ansi_paddings etc

 

Sujets relatifs
[SQLServer] appel de fonction avec un déclencheur sql server 2008[SQLSERVER]ne pas cacher une query ?
Convertion d'un String en MacRoman vers Iso-8859-1[SQLSERVER]Subset ?
[SQLSERVER]Job avec un nom de db variable[SQLSERVER]update + case
[SQLSERVER]group by[SQLSERVER]split et jointure ?
[sqlserver]Gestion des datesProblème administration SQLServer 2008 Express
Plus de sujets relatifs à : [SQLSERVER] set ansi_paddings etc


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR