Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2005 Forums
 Transact-SQL (2005)
 [SOLVED] Joining Tables

Author  Topic 

pee2002
Starting Member

16 Posts

Posted - 2009-07-25 : 12:39:54
Hi there!

I have the following SELECT Statment:
SELECT IDLivro,Titulo
,LEFT(Nome, LEN(Nome) - 2) AS Nome
,LEFT(Categoria, LEN(Categoria) - 2) AS Categoria
,Posicao
,Classificacao
,Comentario

FROM
(
SELECT L.Titulo
,(
SELECT A.Nome + ' ; ' AS "text()"
FROM dbo.Autor A
JOIN dbo.LivroAutor LA
ON A.IDAutor = LA.IDAutor
WHERE LA.IDLivro = L.IDLivro
ORDER BY A.Nome DESC
FOR XML PATH('')
) AS Nome
,(
SELECT C.Categoria + ' ; ' AS "text()"
FROM dbo.Categoria C
JOIN dbo.LivroCategoria LC
ON C.IDCategoria = LC.IDCategoria
WHERE LC.IDLivro = L.IDLivro
ORDER BY C.Categoria DESC
FOR XML PATH('')
) AS Categoria
,L.Posicao
,L.Classificacao
,L.IDLivro
,L.Comentario
FROM dbo.Livro L
) D


That gives me that:


and i need that:

(Edited in PAINT lol)

My structure is:


Can you help me please?
Thanks

pee2002
Starting Member

16 Posts

Posted - 2009-07-27 : 04:17:43
This solved the problem folks:

CREATE VIEW VistaGERAL AS
SELECT D.IDLivro
,Titulo
,LEFT(Nome, LEN(Nome) - 2) AS Nome
,LEFT(Categoria, LEN(Categoria) - 2) AS Categoria
,Posicao
,Classificacao
,D.Comentario
,E.Pessoa
FROM
(
SELECT L.Titulo
,(
SELECT A.Nome + ' ; ' AS "text()"
FROM dbo.Autor A
JOIN dbo.LivroAutor LA
ON A.IDAutor = LA.IDAutor
WHERE LA.IDLivro = L.IDLivro
ORDER BY A.Nome DESC
FOR XML PATH('')
) AS Nome
,(
SELECT C.Categoria + ' ; ' AS "text()"
FROM dbo.Categoria C
JOIN dbo.LivroCategoria LC
ON C.IDCategoria = LC.IDCategoria
WHERE LC.IDLivro = L.IDLivro
ORDER BY C.Categoria DESC
FOR XML PATH('')
) AS Categoria
,L.Posicao
,L.Classificacao
,L.IDLivro
,L.Comentario
FROM dbo.Livro L
) AS D
LEFT JOIN EmprestimoLivro AS L
ON D.IDLivro = L.IDLivro
LEFT JOIN Emprestado AS E
ON L.IDEmprestimo = E.IDEmprestimo;
Go to Top of Page
   

- Advertisement -