Cláusula IN en MySQL
4 seguidores
Buenassss!
Estoy trabajando con MySQL 3.23 y no le da la gana de dejarme hacer la siguiente query:
"SELECT * FROM tbl_regals_obtinguts WHERE int_fk_id_tbl_cataleg_regals IN (SELECT int_id_tbl_cataleg_regals FROM tbl_cataleg_regals WHERE int_fk_id_tbl_families = "+familia+")"
y no entiendo porque, ya que si hago un....
"SELECT * FROM tbl_regals_obtinguts WHERE int_fk_id_tbl_cataleg_regals IN (2,3)" , me funciona y la subquery....
(SELECT int_id_tbl_cataleg_regals FROM tbl_cataleg_regals WHERE int_fk_id_tbl_families = "+familia+")
lo que me retorna es 2,3.
Alguien sabe de q va?
aciasssss
Odrakir
No sabía (tampoco es que controle demasiado de mysql) que se pudieran meter consultas dentro de un IN.
Esto no habría que hacerlo:
SELECT * FROM tbl_regals_obtinguts, tbl_cataleg_regals WHERE tbl_cataleg_regals.int_fk_id_tbl_families = "+familia+"
o algo así...
(joder, que lio con los nombrecitos)
Odrakir.
meddle
las subqueries no funcionan hasta el MySQL 4.1 :(
inudor
meddle
las subqueries no funcionan hasta el MySQL 4.1 :(
[mode Homer]
Ouch!
[\mode Homer]
Puessss tocará hacer alguna chapuzilla.
Lo siento por los nombres... otro día intentaré canviarlos por algunos genéricos ;-)
Merciiiii
meddle
inudor
[mode Homer]
Ouch!
[\mode Homer]
Puessss tocará hacer alguna chapuzilla.
jeje, claro, como todos.... o pedir que te instalen la 4.1 ;)
mik
Más que una chapuza, creo que , si no he entendido mal tu consulta, con un simple join entre tablas bastará. Sería algo como:
SELECT * FROM tbl_regals_obtinguts, tbl_cataleg_regals
WHERE tbl_regals_obtinguts.int_fk_id_tbl_cataleg_regals=tbl_cataleg_regals.int_fk_id_tbl_cataleg_regals
AND tbl_cataleg_regals.int_fk_id_tbl_families="+familia+";";
o
SELECT * FROM tbl_regals_obtinguts
INNER JOIN tbl_cataleg_regals USING int_fk_id_tbl_cataleg_regals
WHERE tbl_cataleg_regals.int_fk_id_tbl_families="+familia+";";
Puedes consultar lo del JOIN en http://dev.mysql.com/doc/mysql/en/JOIN.html . A mi me cambió la vida!
mik
Acabo de ver que el amigo meddle posteo el otro dia un tutorial de JOINS https://www.domestika.org/foros/viewtopic.php?t=24830
Bastante más didáctico que el manual de mysql.
Gracias Meddle!!