selectie inner join

Status
Niet open voor verdere reacties.

lodie

Nieuwe gebruiker
Lid geworden
27 mrt 2008
Berichten
4
Ik zit wat te stoeien met inner join.

Ik krijg het niet voor elkaar. Ik heb de volgende code:
$result = mysql_query("SELECT
ticket.ID
tickets.timestamp
tickets.rep
ticket_answer.message
ticket_answer.ticket
FROM ticket
INNER JOIN ticket_answer");

$num_rows = mysql_num_rows($result);
print ("waarde van result is: $num_rows<br>");
while ($row = mysql_fetch_array($result)) {

printf ("ID: %s Timestamp: %s Naam: %s<br>", $row["ID"], $row["timestamp"], $row["rep"]);
"<BR>";

Nu werkt dit niet. Wat doe ik fout?


Lodie
 
Het lijk mij dat je de velden waarop gejoined moet worden vergeet te specificeren.

Welke velden komen dus overeen? Het lijkt mij tickets.id en ticket_answer.id
Daarnaast moet er na elk veld een komma.

De query zou dan zo moeten zijn
Code:
SELECT
ticket.ID,
tickets.timestamp,
tickets.rep,
ticket_answer.message,
ticket_answer.ticket,
FROM ticket
INNER JOIN ticket_answer
ON ticket.ID = ticket_answer.ID
 
Tha Devil,

Bedankt voor je reactie.
Ik heb de code aangepast naar jouw voorbeeld.
Alleen krijg ik nu een foutmelding in de eerste regel.

$result = mysql_query SELECT("
ticket.ID,
tickets.timestamp,
tickets.rep,
ticket_answer.message,
ticket_answer.ticket,
FROM ticket
INNER JOIN ticket_answer
ON ticket.ID = ticket_answer.ticket");

De tickets hebben een uniek nummer (bij tickets.ID komt overeen met ticket_answer.ticket)

Wat ik eigenlijk wil bereiken is dat ik de gegevens kan afdrukken op scherm (kan ik controleren of alles werkt). Mijn uiteindelijke doel ik om tickets die langer open staan dan 2 weken te laten zien.

Lodie
 
Je bent vergeten de SELECT binnen de haakjes te zetten.

Probeer dit eens:
PHP:
$result = mysql_query("SELECT
ticket.ID,
tickets.timestamp,
tickets.rep,
ticket_answer.message,
ticket_answer.ticket,
FROM ticket
INNER JOIN ticket_answer
ON ticket.ID = ticket_answer.ticket");

Mocht je PHPMyAdmin hebben dan raad ik je aan de query (Van "SELECT" tot " ticket_answer.ticket") daar eens in te voeren (Onder het tabblad SQL)
 
Daar gaat het ook al fout.
Ik heb ook wat typ fouten gemaakt zag :(

Maar als ik die gecorrigeerd heb, blijf ik fouten krijgen.

SELECT
tickets.ID,
tickets.timestamp,
tickets.rep,
ticket_answer.message,
ticket_answer.ticket,
FROM tickets
INNER JOIN ticket_answer
ON tickets.ID = ticket_answer.ticket

Error die ik krijg:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM tickets
INNER JOIN ticket_answer
ON tickets.ID = ticket_answer.ticket
LI' at line 7
 
Dat komt waarschijnlijk omdat ik zo dom ben geweest om bij het laatste veld voor de FROM ook een komma te zetten :eek:
 
Geweldig het werkt!

Super kan ik verder stoeien.


Lodie
 
Wanneer je nog meer SQL vragen hebt kun je beter eerst in PHPMyAdmin wat gaan stoeien.

Daar krijg je exact te zien wat de resultaten zullen zijn en kun je dus ook zien of jij die wilde hebben of dat er verkeerde resultaten zijn :)

Zou je de status van deze vraag in ieder geval nog even op "Opgelost" willen zetten (Rechtsonder)? Alvast bedankt :thumb:
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan