0

我有两个名为:t_servicio 和 cat_clientes 的表,其组成如下:

t_service: t_service

cat_clientes: cat_clientes

表 t_servicio 托管“Id_Cliente”。所以我正在做的是一个搜索引擎,现在我只想搜索“Id_cliente”列。问题是,如何使用 LIKE 条件获取将表t_servicio与表cat_clientes连接起来的客户(客户)的名称以查找匹配项?

希望能帮到我!

编辑:

例如,在获取结果时,Marca、Producto 和 SubProducto列只显示 ID,但我想要她的名字,那会是什么句子?

我想要这样的结果: 像这样的结果

4

3 回答 3

2

希望我没有遗漏您的问题,但是执行此操作的 SQL 很简单:

select s.Id_Servicio, c.Nombre
from cat_clientes c, t_servicio s
where c.Id = s.Id_Cliente
and c.Nombre like '%Uno%';

您可以扩展它(向输出添加更多列)以包含任一表中的其他列。假设您有其他表要链接在一起,您可以构建查询。你提到了 Marca、Producto 等表,但没有提供结构,所以我猜:

select s.Id_Servicio, m.Marca, p.Producto, c.Nombre
from cat_clientes c, t_servicio s, t_producto p, t_subproducto sp, t_marca m
where c.Id = s.Id_Cliente
and m.Id = s.Id_Marca
and p.Id = s.Id_Producto
and sp.Id = s.Id_SubProducto
and c.Nombre like '%Uno%';
于 2012-07-22T23:12:48.773 回答
2

我的西班牙语不好,但如果我理解正确,您想LIKE在 cat_clientes 表中的 P_Nombre (即名称,对吗?)上使用条件,其中客户 ID 在 t_servicio 表中。如果这是正确的,使用简单的INNER JOIN应该可以解决问题:

SELECT *
FROM t_servicio T
    INNER JOIN cat_clientes C ON C.Id = T.Id_Cliente
WHERE C.P_Nombre LIKE '%queso%'

编辑:响应“例如,在获取结果时,Marca、Producto 和 SubProducto 列仅显示 ID,但我想要她的名字,以及句子是什么?”...

如果 Marca、Producto 和 SubProducto 也是 Id,那么就像使用 Id_Cliente 一样,您将需要加入这些键引用的任何表。例如,如果有一个 Products 表,您将添加:

SELECT C.P_Nombre, P.Nombre -- (Or whatever column has the product name)
FROM t_servicio T
    INNER JOIN cat_clientes C ON C.Id = T.Id_Cliente
    INNER JOIN Products P ON P.Id = C.Producto
WHERE C.P_Nombre LIKE '%queso%'

SubProducto 和 Marca 也是如此。

于 2012-07-22T23:13:56.380 回答
0
SELECT * FROM `cat_clientes` AS c LEFT JOIN `t_servicio` AS t ON(c.id = t.Id_Cliente)
于 2012-07-22T23:14:49.123 回答