- aggiornato bestseller su fatlast1Y - non mostrare piu i libri che non hanno l'immagine (sul catalogo). - metti online i compressi
113 lines
5.8 KiB
SQL
113 lines
5.8 KiB
SQL
SELECT TOP 10000
|
|
T.*
|
|
|
|
,i.DescrizioneTipologia
|
|
,f.DescrizioneStatoProdotto
|
|
,n.DescrizioneFormato
|
|
,y.DescrizioneCollana
|
|
,z.AutoriCompleti
|
|
,i2.DescrArgomento
|
|
,z3.CasaEditrice ,q.QtaDisponibile FROM T_WEB_Articoli T
|
|
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 LEFT 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
|
|
LEFT 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
|
|
LEFT 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
|
|
LEFT 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
|
|
LEFT 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
|
|
LEFT 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
|
|
JOIN(
|
|
SELECT a.IdAutore, CONCAT(a.Nome, ' ', a.Cognome) AS AutoreCompleto
|
|
FROM T_WEB_Autori a
|
|
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
|
|
GROUP BY T1.IdArticolo, T1.ListaAutori
|
|
) z ON T.IdArticolo = z.IdArticolo
|
|
LEFT 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 LEFT 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 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%') |