Ir para conteúdo

POWERED BY:

Arquivado

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

razs

[Resolvido] select dentro de outro select

Recommended Posts

isto é possivel?

 

Set rs = conn.Execute("select * from patient where center like("select center from users where username like '" & user& "'") order by data_reg " & dir&"")

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, partindo do principio que esta tudo escrito de forma padronizada

 

select * from patient where center like like(select center from users where username like '" & user& "') order by data_reg " & dir&""

 

porem nao sei q linguagem eh essa que usa [ " & " ]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que não vai dar certo desse jeito. Eu nunca tentei fazer isso com like, mas dada a característica da subconsulta, o resultado pode ter mais de um resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

como esta da valor exacto, para ser comecado por ou a terminar em teria de ter % no inicio ou no fim.

Pelo menos é o que eu acho, tens uma ideia diferente?

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se entendi direito, mas olha o que acontece quando a subconsulta gera mais de 1 resultado:

 

select * from wp_posts where post_title like (select post_title from wp_posts where post_title like '%04/06/2011%')

Operand should contain 1 column(s)

 

Embora isto seja apena um exemplo, se aplica a sua consulta. Como eu disse, há a possibilidade da subconsulta retornar mais de 1 resultado, logo...

Seria possível com IN, mas ainda assim deve ser analisado pois a consulta pode ficar muito lenta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, pelo sim pelo nao ja alterei para =

 

existe algum bug no mysql que me diga que uma coluna nao existe quando ela la esta?

 

to a ter este erro mas os campos estao todos correctos.

[MySQL][ODBC 5.1 Driver][mysqld-5.5.23]Unknown column '93b01303b0dc7b2c0d643cd35da65d5e' in 'field list'

Set rs1 = conn.Execute("INSERT INTO users (password, email, nome, data_reg, last_nome, username, center, add_by, user_status)
VALUES ("&passs&","&request.form("E-mail")&","&request.form("Name")&","&date()&","&request.form("LastName")&","&request.form("Username")&","&request.form("center")& ","&Session("user")&","&request.form("user_status")&")")

Compartilhar este post


Link para o post
Compartilhar em outros sites

de um echo ou system.out.println (ou o equivalente em asp) na consulta em vez de executar e coloque o resultado do echo aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao da porque o script bloqueia na querie, logo nao da para fazer um response.write depois.

obrigado :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao da porque o script bloqueia na querie, logo nao da para fazer um response.write depois.

obrigado :(

 

Faça assim:

 

sql = "INSERT INTO users (password, email, nome, data_reg, last_nome, username, center, add_by, user_status) VALUES ("&passs&","&request.form("E-mail")&","&request.form("Name")&","&date()&","&request.form("LastName")&","&request.form("Username")&","&request.form("center")& ","&Session("user")&","&request.form("user_status")&")"

response.write sql
Set rs1 = conn.Execute(sql)

Compartilhar este post


Link para o post
Compartilhar em outros sites

obigado.

 

 

retornou o seguinte:

 


INSERT INTO users (password, email, nome, data_reg, last_nome, username, center, add_by, user_status) VALUES (625a10edbfbe672dc82423e27e72eb08,email,nome,09-05-2012,ultimo nome,nome utilizador,centro,admin,001)

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[MySQL][ODBC 5.1 Driver][mysqld-5.5.23]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'nome,nome utilizador,centro,admin,001)' at line 1 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu comando SQL no ASP deve ficar assim:

 

...VALUES ('"&passs&"','"&request.form("E-mail")&"','"&request.form("Name")&"',...

 

Desta forma a saída será:

 

...VALUES ('625a10edbfbe672dc82423e27e72eb08','email','nome',...

 

Entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

que parvoice.... obrigado, muito obrigado.

 

ja agora eu tenho um campo como date() e ele mostra 9-5-2012 mas para entrar na bd tem de ir como 2012-05-09 como faço para resolver isso?

 

ja resolvi

 

(Year(date()) &"-"& Month(date()) &"-"& Day(date()))

 

obrigado mais uma vez

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja agora alguma ideia do que se passa aqui?

 

"INSERT INTO cert (data1, data2, item1_1,item1_2,item1_3,item2_1,exam,item2_2,item2_3, read,ficheirosss,data_reg,user)VALUES('"&request.form("data1")&"','"&request.form("data2")&"','"&request.form("item1_1")&"','"&request.form("item1_2")&"','"&request.form("item1_3")&"','"&request.form("item2_1")&"','"&request.form("exam")&"','"&request.form("item2_2")&"','"&request.form("item2_3")&"','"&request.form("read")&"','"&certnome&"','"&data&"','"&Session("user")&"')")
response.write sql
Set rs1 = conn.Execute(sql)

 

ele devolve

 

INSERT INTO cert (data1, data2, item1_1,item1_2,item1_3,item2_1,exam,item2_2,item2_3, read,ficheirosss,data_reg,user)VALUES('14/05/2012','','checked','checked','','','CFP Photographer Certification 1','','','checked','upload/CFP Photographer Certification 1.zip','2012-5-9','tec')

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

 

[MySQL][ODBC 5.1 Driver][mysqld-5.5.23]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'read,ficheirosss,data_reg,user)VALUES('14/05/2012','','checked','checked','','',' at line 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso esta bem subjetivo, verifique o tipo de cada tampo e valide o seu comando.

As datas desse insert também não devem ser tratadas?

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois...

 

a tabela esta assim:

 `id` int(11) NOT NULL AUTO_INCREMENT,
 `data1` varchar(50) DEFAULT NULL,
 `data2` varchar(50) DEFAULT NULL,
 `item1_1` varchar(45) DEFAULT NULL,
 `item1_2` varchar(45) DEFAULT NULL,
 `item1_3` varchar(45) DEFAULT NULL,
 `item2_1` varchar(45) DEFAULT NULL,
 `exam` varchar(45) DEFAULT NULL,
 `item2_2` varchar(45) DEFAULT NULL,
 `item2_3` varchar(45) DEFAULT NULL,
 `read` varchar(45) DEFAULT NULL,
 `ficheirosss` varchar(45) DEFAULT NULL,
 `data_reg` date DEFAULT NULL,
 `user` varchar(45) DEFAULT NULL,
 `eq_model` varchar(45) DEFAULT NULL,
 `eq_serial` varchar(45) DEFAULT NULL,
 `eq_soft` varchar(45) DEFAULT NULL,
 `eq_resolution` varchar(45) DEFAULT NULL,
 `specify` varchar(1500) DEFAULT NULL,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse campo com nome READ deve ser uma palavra reservada do mysql. Altera o nome do campo no seu modelo ou use assim `read`.

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.