Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

razs

Query union com erro

Recommended Posts

Boas pessoal, o que estou a fazer de errado nesta query?

 

SET rsearch = conn.execute("SELECT * FROM (("SELECT ingrediente1 FROM receitas") UNION ("SELECT ingrediente2 FROM receitas")) as resultado") 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o erro gerado ?

 

dê um response.write na sua string SQL para ver o que esta sendo passado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Correto seria

 

SET rsearch = conn.execute("SELECT * FROM ((SELECT ingrediente1 FROM receitas) UNION (SELECT ingrediente2 FROM receitas)) as resultado")

 

O que esta de errado é a quantidade de aspas dupla que tem a mais["].

 

As aspas dupla só é colocando no inicio e no final a não ser que você esteja usando alguma variável dentro do seu select.

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um response.write na string SQL para ver o que esta sendo passado

Compartilhar este post


Link para o post
Compartilhar em outros sites

isto nao da erro, poe é os dados lado a lado, eu quero que aparecam numa lista de select.

 

tenho assim:

<select class="select1">
        <option>Empty</option>
        <%Set rsearch = conn.Execute("SELECT CONCAT(ingrediente1, ingrediente2,ingrediente3, ingrediente4) AS resultado FROM receitas")
	While Not rsearch.EOF%>
	<option value="#"><%= rsearch("resultado") %></option>
	<%
	rsearch.MoveNext
	Wend
	rsearch.Close
	Set rsearch = Nothing
	%>
</select>

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz assim para ver o que esta sendo passado na SQL

 

<select class="select1">
        <option>Empty</option>
        <%Set rsearch = server.createobject("ADODB.Recordset")
SQL="SELECT CONCAT(ingrediente1, ingrediente2,ingrediente3, ingrediente4) AS resultado FROM receitas"
rs.open SQL,conexao,1,3
response.write(SQL)
response.end()
	While Not rsearch.EOF%>
	<option value="#"><%= rsearch("resultado") %></option>
	<%
	rsearch.MoveNext
	Wend
	rsearch.Close
	Set rsearch = Nothing
	%>
</select>

Compartilhar este post


Link para o post
Compartilhar em outros sites


<select class="select1">

<option>Empty</option>

<%Set rsearch = server.createobject("ADODB.Recordset")

SQL="SELECT CONCAT(ingrediente1, ingrediente2,ingrediente3, ingrediente4) AS resultado FROM receitas"

rsearch .open SQL,conexao,1,3

response.write(SQL)

response.end()

While Not rsearch.EOF%>

<option value="#"><%= rsearch("resultado") %></option>

<%

rsearch.MoveNext

Wend

rsearch.Close

Set rsearch = Nothing

%>

</select>

Compartilhar este post


Link para o post
Compartilhar em outros sites
Set rsearch = Server.CreateObject("ADODB.Recordset")
SQL="SELECT CONCAT(ingrediente1, ingrediente2,ingrediente3, ingrediente4) AS resultado FROM receitas" 
rsearch .open SQL,conexao,1,3 
response.write(SQL) 
response.end()

ele vai te mostrar a execução de sua string SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

mostra isto:

 

SELECT CONCAT(ingrediente1, ingrediente2,ingrediente3, ingrediente4) AS resultado FROM receitas

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc alterou sua SQL ?

 

Qual o erro atual gerado ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao da erro simplesmente mostra os dados juntos tipo:

 

no select aparece assim:

 

ingrediente1ingrediente2ingrediente3ingrediente4

ingrediente1ingrediente2ingrediente3ingrediente4

ingrediente1ingrediente2ingrediente3ingrediente4

ingrediente1ingrediente2ingrediente3ingrediente4

 

eu queria que ele dividisse e mostra-se

ingrediente1

ingrediente2

ingrediente3

ingrediente4

Compartilhar este post


Link para o post
Compartilhar em outros sites

é por causa do CONCAT, ele concatena ingrediente1, ingrediente2,ingrediente3, ingrediente4, deixa tudo na mesma string

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao qual é o codigo para separar as colunas e listar no select?

 

O distinct é para nao duplicar mas para separar nao to a ver :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc tentou com o GROUP BY

Compartilhar este post


Link para o post
Compartilhar em outros sites

Union

 

Select incrediente1

From receitas

Union all

Select incrediente2

From receitas

Union all

Select incrediente3

From receitas

Union all

Select incrediente4

From receitas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.