Dois select num só
-
Mittwoch, 11. April 2012 22:49
Boas como junto estes dois select´s?
Select nome from tabelaum
select idade from tabela um where cidade = 'Sao Paulo'
isto não é para apresentar numa tabela. Este código vai ser usado para preencher label´s em vb.net.
Apenas preciso de disser isto numa só ligação há base de dados. Senão terei que criar duas ligações há base de dados.
entenderam?
Digam coisas é urgente. Muito Obrigado
Visual Basic 2008 Express Edition SQL Server Management Studio flashedr8@gmail.com
Alle Antworten
-
Donnerstag, 12. April 2012 12:06
Não sei se entendi bem..
O objectivo é trazer numa query o resultado desses dois selects?
Se for, usa o UNION ou UNION ALL.
Select nome from tabelaum
UNION
select idade from tabela um where cidade = 'Sao Paulo'
A diferença entre o Union e o Union ALL é que o primeiro faz tipo um DISTINCT no final, ou seja, depois de juntar todos os registos ele não devolve registos que são iguiais, ou seja, elimina as linhas duplicadas. O Union ALL traz todos os registos, quer sejam iguais aos existentes ou não.
- Als Antwort vorgeschlagen DavidSoares Donnerstag, 12. April 2012 12:25
-
Donnerstag, 12. April 2012 14:49Moderator
Flahsed,
Alem da utilização do UNION e UNION ALL (Como dito pelo David [Lembrando que o numero de colunas e o datatype de todos os selects envolvidos deve ser o mesmo]), se sua junção ter de ser em colunas, voce deve utilizar o join para tal ação, ainda que (Caso seu cenario permita), sem juncao de campos, criando um plano cartesiano (Todos os dados de uma tabela com todos os dados da outra tabela).
Fabrizzio A. Caputo
MCT
Certificações:
Oracle OCA 11g
MCITP SQL Server 2008 Implementation and Maintenance
MCITP SQL Server 2008 Developer
Blog Pessoal: www.fabrizziocaputo.wordpress.com
Blog Empresa: www.tripletech.com.br/blog
Twitter: @FabrizzioCaputo
Email: fabrizzio.antoniaci@gmail.com -
Montag, 16. April 2012 16:31Moderator
Flashed,
No caso de gerar um produto cartesiano, onde a quantidade de linhas de uma tabela é multiplicada pela quantidade de linhas da outra, esta fazendo, a geração de uma massa de dados fictícia, para isso temos que utilizar o operador Cross Join.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

