2012-07-24 70 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