Advertisement
arkanon

Oclaje DB SQL Query

Sep 19th, 2012
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 3.03 KB | None | 0 0
  1. SELECT c.id,
  2.  
  3.        c.nome,
  4.  
  5.        DATE_FORMAT(c.nascimento,'%Y/%m/%d') AS nasc,
  6.        DATE_FORMAT(c.nascimento,'%Y<span class=\"slash\">/</span>%m<span class=\"slash\">/</span>%d') AS html_nasc,
  7.  
  8.        s.id_tiposituacao,
  9.        s.situacao,
  10.  
  11.        DATE_FORMAT(s.ts,'%Y/%m/%d') AS ts_sit,
  12.        DATE_FORMAT(s.ts,'%Y<span class=\"slash\">/</span>%m<span class=\"slash\">/</span>%d') AS html_ts_sit,
  13.  
  14.        c.rg_numero AS num,
  15.  
  16.        o.sigla AS org,
  17.        u.sigla AS uf,
  18.        CONCAT(
  19.                IF(ISNULL(o.sigla),'<td>','<td class=\"rg_org\">'),
  20.                   IFNULL(o.sigla ,''),
  21.                '</td>',
  22.                IF(ISNULL(o.sigla),'<td colspan=\"2\">','<td class=\"slash\">/</td><td class=\"rg_uf\">'),
  23.                   IFNULL(u.sigla ,''),
  24.                '</td>'
  25.              ) AS html_org_uf,
  26.  
  27.        F.fones,
  28.  
  29.        CONCAT(
  30.                   IFNULL(c.email_usuario ,''),
  31.                IF(ISNULL(c.email_usuario),'','@'),
  32.                   IFNULL(c.email_dominio ,'')
  33.              ) AS email,
  34.        CONCAT(
  35.                IF(ISNULL(c.email_usuario),'<td>','<td class=\"email_usuario\">'),
  36.                   IFNULL(c.email_usuario ,''),
  37.                '</td>',
  38.                IF(ISNULL(c.email_usuario),'<td colspan=\"2\">','<td class=\"at\">@</td><td class=\"email_dominio\">'),
  39.                   IFNULL(c.email_dominio ,''),
  40.                '</td>'
  41.              ) AS html_email
  42.  
  43.   FROM cadastro AS c
  44.   LEFT  JOIN rg_orgao AS o ON o.id = c.rg_id_orgao
  45.   LEFT  JOIN uf       AS u ON u.id = c.rg_id_uf
  46.   INNER JOIN (
  47.                SELECT id_cadastro,
  48.                       GROUP_CONCAT(
  49.                                     CONCAT( IFNULL(prefixo,''), '-', IFNULL(numero,''), IF(ISNULL(ramal),'',' r'), IFNULL(ramal,'') )
  50.                                     SEPARATOR '<br />'
  51.                                   ) AS fones
  52.                FROM     fone
  53.                GROUP BY id_cadastro
  54.              ) AS F ON F.id_cadastro = c.id
  55.   INNER JOIN (
  56.                SELECT DISTINCT(a.id_cadastro),
  57.                       t.nome AS situacao,
  58.                       a.id_tiposituacao,
  59.                       a.ts
  60.                FROM   situacao AS a
  61.                INNER JOIN (
  62.                             SELECT   id_cadastro,
  63.                                      MAX(ts) AS ts
  64.                             FROM     situacao
  65.                             GROUP BY id_cadastro
  66.                           ) AS b ON ( a.id_cadastro = b.id_cadastro AND a.ts = b.ts )
  67.                INNER JOIN tiposituacao AS t ON t.id = a.id_tiposituacao
  68.                WHERE  a.id_tiposituacao =  1 OR
  69.                       a.id_tiposituacao =  2 OR
  70.                       a.id_tiposituacao =  3 OR
  71.                       a.id_tiposituacao =  4 OR
  72.                       a.id_tiposituacao =  5 OR
  73.                       a.id_tiposituacao =  9 OR
  74.                       a.id_tiposituacao = 11
  75.                GROUP BY a.id_cadastro
  76.              ) AS s ON s.id_cadastro = c.id
  77.   WHERE      s.id_tiposituacao IS NOT NULL
  78.   ORDER BY   c.nome
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement