2012-07-24 36 views
2

简单的多列的结果结合起来,我想与结果相结合使用,其中相同的多个列中SQL:如何使用其中类似

$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%'"; 

这个指令,采取最后的结果,但并没有将所有的结果时,这将是正确的说法?

我希望能帮助我!

回答

1

使用INNER JOIN您只会匹配那些相关的行。 如果我找到你的话,简单切换到LEFT JOIN会让你更开心。 你也可能最后需要有一个GROUP BY声明。

0

LIKE '%$ termsearch%' 应该是LIKE '%' + @termsearch + '%'

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

+0

$ termsearch是从输入文本中获得的术语或文本,我会尝试! – SoldierCorp 2012-07-24 03:45:33

相关问题