简单,我想在多列中使用WHERE LIKE时结合结果
$query = "SELECT T.Id_Servicio ids,
C.Nombre cliente,
T.T_Atencion atencion,
M.Nombre marca,
P.Nombre producto,
SU.Nombre subproducto,
T.Observaciones obs,
T.Estado edo
FROM t_servicio T
INNER JOIN cat_clientes C ON C.Id = T.Id_Cliente
INNER JOIN cat_marcas M ON M.Id = T.Marca
INNER JOIN cat_productos P ON P.Id = T.Producto
INNER JOIN cat_subproducto SU ON SU.Id = T.SubProducto
WHERE C.Nombre LIKE '%$termsearch%'
OR T.T_Atencion LIKE '%$termsearch%'
OR M.Nombre LIKE '%$termsearch%'
OR P.Nombre LIKE '%$termsearch%'
OR SU.Nombre LIKE '%$termsearch%'";
使用此指令,取最后一个结果,但不会合并所有结果,这将是正确的声明吗?
我希望能帮到我!
答案 0 :(得分:1)
使用INNER JOIN
,您只会匹配相关的行。
如果我找对你,简单切换到LEFT JOIN
会让你更快乐。
您还可能最终需要GROUP BY
语句。
答案 1 :(得分:1)
你能试试吗?
SELECT T.Id_Servicio ids,
C.Nombre cliente,
T.T_Atencion atencion,
M.Nombre marca,
P.Nombre producto,
SU.Nombre subproducto,
T.Observaciones obs,
T.Estado edo
FROM t_servicio T
LEFT JOIN cat_clientes C ON C.Id = T.Id_Cliente
LEFT JOIN cat_marcas M ON M.Id = T.Marca
LEFT JOIN cat_productos P ON P.Id = T.Producto
LEFT JOIN cat_subproducto SU ON SU.Id = T.SubProducto
WHERE C.Nombre LIKE '%$termsearch%'
OR T.T_Atencion LIKE '%$termsearch%'
OR M.Nombre LIKE '%$termsearch%'
OR P.Nombre LIKE '%$termsearch%'
OR SU.Nombre LIKE '%$termsearch%'
你和什么比较? 我假设$ termsearch是你要在SU.Nombre中搜索的整个字符串
答案 2 :(得分:0)
LIKE'%$ termsearch%'应该是'%'+ @termsearch +'%'