Frage

Ich bin mit parametrisierte Abfragen mit PHP Ich habe die folgenden zwei Abfragen:

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

und

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

Kurz gesagt, werden die Fragen in dem „Beiträge“ Tisch diskutiert und durch ihre question_id verwiesen werden.

Ich habe einigen redundanten Code in meinem PHP-Code, weil ich genug mysql weiß nicht, die Datenbank abzufragen, sobald die Ergebnisse erhalten ich diese beiden Abfragen muß aus.

Ist die Art, wie ich tue es gut und befassen sich mit den redundanten Teilen meines PHP-Code oder gibt es einen besseren Weg, dies zu erreichen?

War es hilfreich?

Lösung

Einsatz kommt anstelle von passenden Spalten in where-Klausel

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

Und

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

Andere Tipps

2 Abfragen sind völlig in Ordnung gibt, aus mehreren Tabellen Ausgabe kombiniert, ist nicht sehr sauber Idee.

Sie müssen nur überprüfen, ob Sie alle kombinierten Indizes auf alle Felder, die Sie verwenden in WO, und es wird sehr schnell sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top