Saltar al contenido

MySQL: el operando debe contener 1 columna (s)

este problema se puede abordar de diversas maneras, pero te dejamos la respuesta más completa para nosotros.

Solución:

Su subconsulta está seleccionando dos columnas, mientras que la está utilizando para proyectar una columna (como parte del exterior SELECT cláusula). Solo puede seleccionar una columna de dicha consulta en este contexto.

Considere unirse a la users mesa en su lugar; esto le dará más flexibilidad al seleccionar de qué columnas desea users.

SELECT
topics.id,
topics.name,
topics.post_count,
topics.view_count,
COUNT( posts.solved_post ) AS solved_post,
users.username AS posted_by,
users.id AS posted_by_id

FROM topics

LEFT OUTER JOIN posts ON posts.topic_id = topics.id
LEFT OUTER JOIN users ON users.id = posts.posted_by

WHERE topics.cat_id = :cat
GROUP BY topics.id

Este error también puede ocurrir si accidentalmente usa comas en lugar de AND en el ON cláusula de un JOIN:

JOIN joined_table ON (joined_table.column = table.column, joined_table.column2 = table.column2)
                                                        ^
                                             should be AND, not a comma

Este error también puede ocurrir si usa accidentalmente = en lugar de IN en el WHERE cláusula:

POR EJEMPLO:

WHERE product_id = (1,2,3);

Reseñas y puntuaciones

Si te animas, eres capaz de dejar una división acerca de qué te ha parecido esta división.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *