[where子句中具有现有列的未知列]

问题描述 投票:0回答:1

我在此查询中遇到一些问题:

 SELECT clientes.id AS codigoCliente 
 FROM clientes 
 INNER JOIN 
      tipooperacion 
      ON clientes.idTipoOperacion = tipooperacion.id 
 INNER JOIN
      clientesetiquetas 
      ON clientes.id = clientesetiquetas.idCliente
  WHERE clientes.fechaBaja IS NULL AND clientesetiquetas.idEtiqueta = 4 
  ORDER BY clientes.fechaAlta DESC 
  LIMIT 0, 10;

如果我在SQL Tool Administrator中运行它,则工作正常。但是,如果我从PHP代码运行它,则会收到以下消息:

[where子句中的未知列'clientesetiquetas.idEtiqueta']

我正在动态建立此查询。我不知道它是否与它有关。

我的PHP代码:

      $query = "SELECT  clientes.id AS codigoCliente
                              FROM clientes INNER JOIN tipooperacion ON clientes.idTipoOperacion = tipooperacion.id
                              INNER JOIN tipoinmueble ON clientes.idTipoInmueble = tipoinmueble.id 
                              ";


                    if($etiquetas!=null && $etiquetas!=""){

                        $whereEtiquetas = " AND clientesetiquetas.idEtiqueta = 4";  
                        $where .= $whereEtiquetas;
                    }


                    $query .= $where;
                    $query .= " ORDER BY {$orderBy}
                              LIMIT {$primerResultado}, {$resultadosPorPagina};";
php mysql sql
1个回答
0
投票

sql查询与php代码中的sql查询不匹配。在php代码中,您没有加入clientesetiquetas表,因此出现错误消息。

您需要将clientesetiquetas表添加到PHP代码中的查询中,或者需要从其他表中引用idEtiqueta字段。

© www.soinside.com 2019 - 2024. All rights reserved.