Advertisement
fabiobozzo

Fatture Doctorlens (prezzi acquisto)

Jul 15th, 2015
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.39 KB | None | 0 0
  1. SELECT
  2.     CONCAT(ft.tipo_documento,
  3.             ft.tipo_fattura,
  4.             ft.anno_fattura,
  5.             ft.numero_fattura) AS grouping_field,
  6.     fr.descrizione,
  7.     fr.codice_fornitore AS barcode,
  8.     fr.prezzo_acquisto AS pa_fattura,
  9.     lm.prezzo_acquisto AS pa_anagrafica,
  10.     IFNULL(CASE
  11.                 WHEN m.prz_calc > 0 THEN m.prz_calc
  12.                 ELSE (CASE
  13.                     WHEN m.prz_conf <> 0 THEN m.prz_conf
  14.                     ELSE fr.prezzo_acquisto
  15.                 END)
  16.             END,
  17.             0) AS pa_calcolato
  18. FROM
  19.     fattura_testata ft
  20.         LEFT JOIN
  21.     fattura_riga fr ON ft.anno_fattura = fr.anno_fattura
  22.         AND ft.numero_fattura = fr.numero_fattura
  23.         AND ft.tipo_fattura = fr.tipo_fattura
  24.         AND ft.tipo_documento = fr.tipo_documento
  25.         LEFT JOIN
  26.     lenses_modelli lm ON fr.codice_fornitore = lm.barcode
  27.         LEFT JOIN
  28.     siti s ON ft.tipo_ordine = s.id_fattura_testata
  29.         LEFT JOIN
  30.     ups u ON ft.nazione = u.id
  31.         LEFT JOIN
  32.     ana_esenzioni_iva es ON ft.id_esenzione_iva = es.id
  33.         LEFT JOIN
  34.     ALL_movimenti_magazzino m ON m.barcode = fr.codice_fornitore
  35.         AND m.data_documento = DATE_FORMAT(ft.data_fattura, '%Y-%m-%d')
  36.         AND ((m.codice_movimento = 'FAT'
  37.         AND m.tipo_movimento = 'U'
  38.         AND m.numero_documento = CONCAT(CASE
  39.                 WHEN
  40.                     ft.codice_fattura IS NOT NULL
  41.                         AND ft.codice_fattura <> ''
  42.                 THEN
  43.                     ft.codice_fattura
  44.                 ELSE 'I'
  45.             END,
  46.             '/',
  47.             ft.numero_fattura,
  48.             '/',
  49.             ft.anno_fattura))
  50.         OR (m.codice_movimento = 'NC'
  51.         AND m.tipo_movimento = 'E'
  52.         AND m.numero_documento = CONCAT(CASE
  53.                 WHEN
  54.                     ft.codice_fattura IS NOT NULL
  55.                         AND ft.codice_fattura <> ''
  56.                 THEN
  57.                     ft.codice_fattura
  58.                 ELSE 'I'
  59.             END,
  60.             '/',
  61.             CASE
  62.                 WHEN ft.tipo_documento = 'C' THEN 'NC/'
  63.             END,
  64.             ft.numero_fattura,
  65.             '/',
  66.             ft.anno_fattura)))
  67. WHERE
  68.     ft.data_fattura BETWEEN '2015-06-01 00:00:00' AND '2015-08-01 23:59:59'
  69.         AND s.id = 6
  70. GROUP BY grouping_field , fr.riga_fattura
  71. ORDER BY ft.data_fattura ASC , fr.riga_fattura
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement