Ik heb de volgende 2 tabellen in MySQL:
toegang:
categorie:
De 1e tabel geeft aan in welke inkoopcategorien een bedrijf mag inkopen, en de 2e hoe die categorien heten.
Nu wil ik een lijst opvragen van inkoopcategorien waarvoor bedrijf met bedrijf_id 2 toegang heeft:
Volgens mij zou dat met een subquery op de volgende manier moeten kunnen:
maar ik krijg een foutmelding "Not a SCALAR reference". Wat doe ik verkeerd?
toegang:
code:
1
2
3
4
5
6
7
8
9
| +------------+-----------+ | bedrijf_id | inkoop_id | +------------+-----------+ | 1 | 1 | | 1 | 2 | | 1 | 3 | | 2 | 1 | | 2 | 4 | +------------+-----------+ |
categorie:
code:
1
2
3
4
5
6
7
8
| +-----------+------------+ | inkoop_id | naam | +-----------+------------+ | 1 | potloden | | 2 | pennen | | 3 | gummetjes | | 4 | paperclips | +-----------+------------+ |
De 1e tabel geeft aan in welke inkoopcategorien een bedrijf mag inkopen, en de 2e hoe die categorien heten.
Nu wil ik een lijst opvragen van inkoopcategorien waarvoor bedrijf met bedrijf_id 2 toegang heeft:
code:
1
2
3
4
5
6
| +-----------+------------+ | inkoop_id | naam | +-----------+------------+ | 4 | paperclips | | 1 | potloden | +-----------+------------+ |
Volgens mij zou dat met een subquery op de volgende manier moeten kunnen:
Perl:
1
2
| $sth = $dbh->prepare('SELECT * FROM categorie WHERE inkoop_id = (SELECT inkoop_id from toegang WHERE bedrijf_id = ?) ORDER BY naam'); $sth->execute("2"); |
maar ik krijg een foutmelding "Not a SCALAR reference". Wat doe ik verkeerd?
[ Voor 3% gewijzigd door bRight op 17-06-2003 18:06 . Reden: typo ]