Archief - PHP: Duplicate Entries negeren

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

McBr@in

Legacy Member
Ik heb dus een volgend systeem met databank:

Boeken
(BoekID, BoekTitle)

User
(UserID, LastName, FirstName)

RentedBooks
(UserID, BoekID)

Het is uiteraard logisch dat eenzelfde user meerdere boeken uitleent.
Ik wil een query maken die uit RentedBooks het UserID haalt, en aan de hand van dit UserID de LastName en FirstName uit de User database haalt.

Mijn sql-query's werken, maar hij geeft gewoon meerdere keren een UserID terug.

Tot nu toe heb ik dit:

$books = get_books();
for($i=0; $i<sizeof($books); $i++)
{
$book = $books[$i];
$boekID = $book['boekID'];
$users = get_users($boekID);
for ($j=0; $j<sizeof($users); $j++)
{
$user = $users[$j];
$userid = $user['UserID'];
echo $studnummer."<br>";

}
}


Ik vraag mij af of er geen manier is bij het inlezen van de UserID te gaan checken of die al voorkomt. Het is logisch dat ik van eenzelfde UserID maar eenmaal de naam en voornaam wil opvragen om in een andere tabel te gaan schrijven en niet elke keer hij voorkomt in de RentedBooks

Squealer

Legacy Member
Dus als ik het goed voorheb, wilt ge de naam zien van wie er boeken heeft geleend?

Ik zou dan doen:

Select u.Lastname,u.Firstname FROM RentedBooks r left join User u on u.UserID=r.UserID group by r.UserID

Skarr

Legacy Member
of

Select distinct u.Lastname,u.Firstname FROM User u where u.UserID in (select r.UserID from RentedBooks r)

dJeez

Legacy Member
Skarr zei:
Select distinct u.Lastname,u.Firstname FROM User u where u.UserID in (select r.UserID from RentedBooks r)
Code:
select distinct u.Lastname,u.Firstname FROM User u 
inner join RentedBooks r on r.UserID=u.UserID and r.BoekID=?

Nu ja, alles hangt af van wat er in uw get_books en get_users functies staat en wat het gewenste resultaat is uiteraard, maar bovenstaande geeft (als je het ? invult) de namen van de lezers van een bepaald boek terug.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan