Hallo,

Ik met mijn slechte MySQL kennis kwam niet uit het volgende geval:
Ik heb 2 querys en deze wil ik samen voegen tot 1. Ik heb gegoogled en vond veel antwoorden over Inner Join maar het lukte mij maar niet en wist ook niet goed hoe ik moest en kon beginnen. Graag kunnen jullie mij helpen.

Query 1:
SELECT user_rank FROM user WHERE user_id=5

Query 2:
SELECT rank_rank FROM rank WHERE rank_id=user_rank
Deze user_rank krijg je dus uit de query daarboven

Groeten,
Yanick
Ik kan me niet zo veel voorstellen van de tabel structuur die je hebt bedacht. Maar volgens mij moet het zoiets worden...

<?php
$userId = 5;
$sql = 'SELECT u.user_id, rr.rank_rank
FROM user AS u
INNER JOIN rank AS r
ON user_rank = rank_rank
WHERE u.user_id = '. (int) $userId;
?>
ON u.user_rank = r.rank_id

bedoel je?
Bedankt Crispijn - het werkt :).

De volgende query is eruit gekomen:
SELECT user.user_id, rank.rank_rank FROM user AS user INNER JOIN rank AS rank ON user_rank = rank_id WHERE user.user_id='$id'
"rank AS rank" dan heeft die alias natuurlijk geen nut. Tevens gebruik je dit ook weer nergens in je query...
@Yanick, het heeft geen zin om een alias te definieren die hetzelfde is als de tabelnaam zelf. Je kan sowieso altijd dit doen:


SELECT user.id FROM user WHERE id = 1


Een alias scheelt typewerk en kan je dus als volgt gebruiken:


SELECT u.id FROM user AS u WHERE id = 1
Crispijn, waarbij je dan ook nog in je WHERE statement die alias gebruikt. Anders is het blijkbaar nog niet nodig. Dus WHERE u.id = 1
Tevens is het de zinlooste query ter wereld, want je selecteert een id waar je op zoekt...
Waar wordt die rank door bepaald, als die afhankelijk is van de hoogte van een bepaalde score van de user dan heb je die tweede tabel niet nodig.
Voorbeeld:

SELECT
	user_name,
	user_score,
	FIND_IN_SET(user_score,
		(SELECT GROUP_CONCAT(user_score
			ORDER_BY user_score DESC)
		FROM users)) AS ranking
FROM users
[WHERE user_id = 5]



@Ger,
Elke keer verbaas ik me er weer over dat je het voor elkaar krijgt een query te bouwen waar elementen in zitten die ik nog niet ken :-)
Altijd leerzaam!
In de eerste tabel (user) staan alle user informatie zoals username, password, id maar ook rank_id. Deze rank_id staat ook in een andere tabel (rank) waaraan rank id is gekoppeld aan een rank naam.

Reageren