- aggiornato bestseller su fatlast1Y - non mostrare piu i libri che non hanno l'immagine (sul catalogo). - metti online i compressi
235 lines
9.8 KiB
SQL
235 lines
9.8 KiB
SQL
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
|
|
|
|
|
|
|
|
|
|
|
|
|