Pregunta

Estoy usando consultas con parámetros con PHP Tengo las siguientes dos preguntas:

SELECT username,question_text 
FROM questions,users 
WHERE questions.question_id = 4 AND questions.user_id = users.user_id

y

SELECT username, post_text 
FROM posts,users WHERE posts.question_id = 4 
AND posts.user_id = users.user_id ORDER BY posts.post_id ASC

En resumen, las preguntas se están discutiendo en la tabla "Mensajes" y están siendo referenciado por su question_id.

Tengo algo de código redundante en mi código PHP porque no sé lo suficiente como MySQL para consultar la base de datos una vez para obtener los resultados que necesito salir de estas dos consultas.

Es la forma en que lo estoy haciendo bien y trato con las partes redundantes de mi código PHP o hay una mejor manera de lograr esto?

¿Fue útil?

Solución

uso unirse en lugar de columnas coincidentes en la cláusula WHERE

SELECT username,question_text 
FROM questions INNER JOIN users on questions.user_id = users.user_id
WHERE questions.question_id = 4

y

SELECT username, post_text 
FROM posts INNER JOIN users on posts.user_id = users.user_id 
WHERE posts.question_id = 4 
ORDER BY posts.post_id ASC

Otros consejos

2 consultas es totalmente bien allí, que combina la producción de varias tablas no es idea muy limpio.

Sólo tiene que comprobar si tiene todos los índices combinados en todos los campos que se utilizan en WHERE, y va a ser muy rápido.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top