MySQL - Inner Join of???

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Yanick  vB

Yanick vB

07/07/2012 11:08:31
Quote Anchor link
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
 
PHP hulp

PHP hulp

25/04/2024 20:56:44
 
Crispijn -

Crispijn -

07/07/2012 11:19:01
Quote Anchor link
Ik kan me niet zo veel voorstellen van de tabel structuur die je hebt bedacht. Maar volgens mij moet het zoiets worden...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?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;
?>
Gewijzigd op 07/07/2012 11:19:30 door Crispijn -
 
Jaron T

Jaron T

07/07/2012 11:51:11
Quote Anchor link
ON u.user_rank = r.rank_id

bedoel je?
 
Yanick  vB

Yanick vB

07/07/2012 11:55:33
Quote Anchor link
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'
Gewijzigd op 07/07/2012 11:55:50 door Yanick vB
 
Wouter J

Wouter J

07/07/2012 11:58:23
Quote Anchor link
"rank AS rank" dan heeft die alias natuurlijk geen nut. Tevens gebruik je dit ook weer nergens in je query...
 
Crispijn -

Crispijn -

07/07/2012 11:59:00
Quote Anchor link
@Yanick, het heeft geen zin om een alias te definieren die hetzelfde is als de tabelnaam zelf. Je kan sowieso altijd dit doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT user.id FROM user WHERE id = 1


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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT u.id FROM user AS u WHERE id = 1
 
Erwin H

Erwin H

07/07/2012 12:04:55
Quote Anchor link
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
 
Wouter J

Wouter J

07/07/2012 12:11:56
Quote Anchor link
Tevens is het de zinlooste query ter wereld, want je selecteert een id waar je op zoekt...
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

07/07/2012 12:34:40
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
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]
Gewijzigd op 07/07/2012 12:38:49 door Ger van Steenderen
 
Erwin H

Erwin H

07/07/2012 13:17:40
Quote Anchor link
@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!
 
Yanick  vB

Yanick vB

07/07/2012 13:44:19
Quote Anchor link
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.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

07/07/2012 14:03:44
Quote Anchor link
Ah oké, dan gaat mijn eerdere reactie voor jou niet op.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.