- Corretta query di estrapolazione libri su GM (Marco)
- aggiornato bestseller su fatlast1Y - non mostrare piu i libri che non hanno l'immagine (sul catalogo). - metti online i compressi
This commit is contained in:
234
_LIMBO/QueryFdevCatalogo.sql
Normal file
234
_LIMBO/QueryFdevCatalogo.sql
Normal file
@@ -0,0 +1,234 @@
|
||||
SELECT T.*
|
||||
|
||||
,i.DescrizioneTipologia
|
||||
,f.DescrizioneStatoProdotto
|
||||
,n.DescrizioneFormato
|
||||
,y.DescrizioneCollana
|
||||
,z.AutoriCompleti
|
||||
,i2.DescrArgomento
|
||||
,z3.CasaEditrice
|
||||
,q.QtaDisponibile
|
||||
FROM
|
||||
T_WEB_Articoli T
|
||||
WITH (noLock)
|
||||
|
||||
RIGHT JOIN
|
||||
( SELECT IdArticolo,
|
||||
MAX(DataOra) AS data
|
||||
FROM
|
||||
T_WEB_Articoli
|
||||
GROUP BY
|
||||
IdArticolo ) b
|
||||
ON
|
||||
T.IdArticolo = b.IdArticolo
|
||||
AND T.DataOra = b.data
|
||||
|
||||
RIGHT JOIN
|
||||
( SELECT
|
||||
e.IdStatoProdotto,
|
||||
e.Descrizione as DescrizioneStatoProdotto
|
||||
FROM
|
||||
T_WEB_StatiProdotto e
|
||||
JOIN
|
||||
(
|
||||
SELECT
|
||||
IdStatoProdotto,
|
||||
MAX(DataOra) as data1
|
||||
FROM
|
||||
T_WEB_StatiProdotto
|
||||
GROUP BY
|
||||
IdStatoProdotto ) c
|
||||
ON
|
||||
e.IdStatoProdotto = c.IdStatoProdotto
|
||||
AND e.DataOra = c.data1 ) f
|
||||
ON
|
||||
T.IdStatoProdotto = f.IdStatoProdotto
|
||||
RIGHT JOIN
|
||||
(
|
||||
SELECT
|
||||
g.IdTipologia,
|
||||
g.Descrizione as DescrizioneTipologia
|
||||
FROM
|
||||
T_WEB_Tipologie g
|
||||
JOIN
|
||||
(
|
||||
SELECT
|
||||
IdTipologia,
|
||||
MAX(DataOra) as data1
|
||||
FROM
|
||||
T_WEB_Tipologie
|
||||
GROUP BY
|
||||
IdTipologia ) h
|
||||
ON
|
||||
g.IdTipologia = h.IdTipologia
|
||||
AND g.DataOra = h.data1 ) i
|
||||
ON
|
||||
T.IdTipologia = i.IdTipologia
|
||||
RIGHT JOIN
|
||||
(
|
||||
SELECT
|
||||
l.IdTipoFormato,
|
||||
l.Descrizione as DescrizioneFormato
|
||||
FROM
|
||||
T_WEB_TipiFormato l
|
||||
JOIN
|
||||
(
|
||||
SELECT
|
||||
IdTipoFormato,
|
||||
MAX(DataOra) as data1
|
||||
FROM
|
||||
T_WEB_TipiFormato
|
||||
GROUP BY
|
||||
IdTipoFormato ) m
|
||||
ON
|
||||
l.IdTipoFormato = m.IdTipoFormato
|
||||
AND l.DataOra = m.data1 ) n
|
||||
ON
|
||||
T.IdTipoFormato = n.IdTipoFormato
|
||||
RIGHT JOIN
|
||||
(
|
||||
SELECT
|
||||
v.IdCollana,
|
||||
v.Descrizione as DescrizioneCollana
|
||||
FROM
|
||||
T_WEB_Collane v
|
||||
INNER JOIN
|
||||
(
|
||||
SELECT
|
||||
IdCollana,
|
||||
MAX(ID) as MaxID
|
||||
FROM
|
||||
T_WEB_Collane
|
||||
GROUP BY
|
||||
IdCollana ) x
|
||||
ON
|
||||
v.IdCollana = x.IdCollana
|
||||
AND v.ID = x.MaxID ) y
|
||||
ON
|
||||
T.IdCollana = y.IdCollana
|
||||
RIGHT JOIN
|
||||
(
|
||||
SELECT
|
||||
g2.IdArgomento,
|
||||
g2.Descrizione as DescrArgomento
|
||||
FROM
|
||||
T_WEB_Argomenti g2
|
||||
INNER JOIN
|
||||
(
|
||||
SELECT
|
||||
IdArgomento,
|
||||
MAX(DataOra) as data12
|
||||
FROM
|
||||
T_WEB_Argomenti
|
||||
GROUP BY
|
||||
IdArgomento ) h
|
||||
ON
|
||||
g2.IdArgomento = h.IdArgomento
|
||||
AND g2.DataOra = h.data12 ) i2
|
||||
ON
|
||||
T.ListaArgomenti = i2.IdArgomento
|
||||
RIGHT JOIN ( SELECT
|
||||
o.Codice,
|
||||
o.QtaDisponibile
|
||||
FROM
|
||||
T_WEB_Disponibile o
|
||||
JOIN
|
||||
(
|
||||
SELECT
|
||||
Codice,
|
||||
MAX(DataOra) as data1
|
||||
FROM
|
||||
T_WEB_Disponibile
|
||||
GROUP BY
|
||||
Codice ) p
|
||||
ON
|
||||
o.Codice = p.Codice
|
||||
AND o.DataOra = p.data1 ) q
|
||||
ON
|
||||
T.IdArticolo = q.Codice
|
||||
RIGHT JOIN
|
||||
(
|
||||
SELECT
|
||||
a3.IdMarchioEditoriale,
|
||||
a3.Descrizione as CasaEditrice
|
||||
FROM
|
||||
T_WEB_MarchiEditoriali a3
|
||||
JOIN
|
||||
(
|
||||
SELECT
|
||||
IdMarchioEditoriale,
|
||||
MAX(DataOra) as maxData
|
||||
FROM
|
||||
T_WEB_MarchiEditoriali
|
||||
GROUP BY
|
||||
IdMarchioEditoriale ) aa3
|
||||
ON
|
||||
a3.IdMarchioEditoriale = aa3.IdMarchioEditoriale
|
||||
AND a3.DataOra = aa3.maxData ) z3
|
||||
ON
|
||||
T.IdMarchioEditoriale = z3.IdMarchioEditoriale
|
||||
RIGHT JOIN
|
||||
(
|
||||
SELECT T1.IdArticolo, STUFF((
|
||||
SELECT
|
||||
',' + ISNULL(A2.AutoreCompleto, '')
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
CAST('<root><x>' + REPLACE(T1.ListaAutori, ',', '</x><x>') + '</x></root>' AS XML) AS DataXML ) X
|
||||
CROSS APPLY
|
||||
X.DataXML.nodes('/root/x') AS A(x)
|
||||
CROSS APPLY
|
||||
(
|
||||
SELECT
|
||||
TRY_CAST(LTRIM(RTRIM(A.x.value('.', 'VARCHAR(100)'))) AS INT) AS AutoreID ) CA
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
a.IdAutore,
|
||||
CONCAT(a.Nome, ' ', a.Cognome) AS AutoreCompleto
|
||||
FROM
|
||||
T_WEB_Autori a
|
||||
RIGHT JOIN
|
||||
(
|
||||
SELECT
|
||||
IdAutore,
|
||||
MAX(DataOra) AS maxData
|
||||
FROM
|
||||
T_WEB_Autori
|
||||
GROUP BY
|
||||
IdAutore ) aa
|
||||
ON
|
||||
a.IdAutore = aa.IdAutore
|
||||
AND a.DataOra = aa.maxData
|
||||
) A2
|
||||
ON
|
||||
CA.AutoreID = A2.IdAutore FOR XML PATH(''),
|
||||
TYPE ).value('.', 'NVARCHAR(MAX)') ,
|
||||
1 ,
|
||||
1 ,
|
||||
'') AS AutoriCompleti
|
||||
FROM T_WEB_Articoli T1
|
||||
WHERE t1.DataOra = (select max(DataOra) AS DataOra from T_web_articoli As h WHERE h.IdArticolo = T1.IdArticolo)
|
||||
|
||||
GROUP BY T1.IdArticolo, T1.ListaAutori ) z ON T.IdArticolo = z.IdArticolo
|
||||
WHERE
|
||||
(
|
||||
DescrizioneStatoProdotto = 'In commercio'
|
||||
OR DescrizioneStatoProdotto = 'Prossima uscita/pubblicazione'
|
||||
OR DescrizioneStatoProdotto = 'Prossima uscita'
|
||||
OR DescrizioneStatoProdotto = 'In prevendita'
|
||||
OR DescrizioneStatoProdotto = '2023 in commercio')
|
||||
AND (
|
||||
DescrizioneTipologia = 'Libri'
|
||||
OR DescrizioneTipologia = 'Cartolibro'
|
||||
OR DescrizioneTipologia = 'Carte')
|
||||
AND (
|
||||
Ean13 NOT LIKE 'USATO%')
|
||||
ORDER BY T.IdArticolo DESC, Id DESC
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user