我试图使基于另一个查询结果的查询,主要查询是这样的:子查询到的LIKE条件的MySQL
SELECT d.nombre, d.apellido,em.codigo, em.descripcion, d.iddocente, em.idequipoMulti
FROM docenteequipomulti dem
INNER JOIN docente d ON dem.docente_iddocente=d.iddocente
INNER JOIN equipomulti em ON dem.equipoMulti_idequipoMulti=em.idequipoMulti
WHERE
dem.iddocenteEquipoMulti LIKE '%(subquery)%'
没有where
它告诉我所有的值,但我必须通过子查询返回的值来过滤它们。
这是子查询:
SELECT concat_ws ('-', m.numModulo, p.periodo) AS MPeriodo FROM modulos m INNER JOIN periodo p ON m.periodo_idperiodo=p.idperiodo WHERE m.estado=1
该查询始终会得到如“1-2015”的一个值,但我把子查询到“()”,并没有工作。我究竟做错了什么?
编辑:我有一些IDS这样
1--1-2015 - EQ1
1--1-2015 - EQ2
2--1-2015-- EQ3
1--2-2015 - EQ1
的想法是过滤那些具有“1-2015” IDS不管他们有什么其他,所以它必须只显示3行,但不包括最后一个。
只需将模块添加到JOIN – Mihai
问题是,该idmodulos不等于其他id,例如,dem.iddocenteEquipoMulti是:“1--1-2015 - Eq1”,值为I与子查询得到的是:“1-2015”如果它是相似的,我不得不比较 –