我在此查询中遇到一些问题:
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};";
sql查询与php代码中的sql查询不匹配。在php代码中,您没有加入clientesetiquetas
表,因此出现错误消息。
您需要将clientesetiquetas
表添加到PHP代码中的查询中,或者需要从其他表中引用idEtiqueta
字段。