Ik heb een database waarin een aantal entries mist, waarnaar wordt verwezen vanuit een andere tabel.
Het gaat om de tabellen topics en users. In de users tabel missen een aantal entries. De layout is als volgt:
users:
topics:
userId in de tabel topics verwijst naar een id in users. In users mis ik echter zo'n tienduizend entries. Ik probeer daar een lijst van te krijgen, zodat ik deze kan aanvullen.
Iets zegt mij dat ik daar een subquery voor nodig heb, en dat heb ik dan ook geprobeerd, maar ik begrijp het niet, en ik doe iets verkeerd.
Ik krijg hier dus een foutmelding van MySQL. Is er iemand die mij kan uitleggen wat ik fout doe?
Het gaat om de tabellen topics en users. In de users tabel missen een aantal entries. De layout is als volgt:
users:
SQL:
1
2
3
4
5
6
| +----------+-----------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-----------------+------+-----+---------+-------+ | id | int(4) unsigned | | PRI | 0 | | | username | varchar(30) | YES | MUL | NULL | | +----------+-----------------+------+-----+---------+-------+ |
topics:
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
| +----------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+------------------+------+-----+---------+-------+ | id | int(3) unsigned | | PRI | 0 | | | forum | int(1) unsigned | | | 0 | | | title | varchar(60) | YES | MUL | NULL | | | postIcon | int(1) unsigned | | | 0 | | | userId | int(3) unsigned | | MUL | 0 | | | postTime | int(4) unsigned | | | 0 | | | clicks | int(10) unsigned | | MUL | 0 | | | last_ip | int(4) unsigned | | | 0 | | +----------+------------------+------+-----+---------+-------+ |
userId in de tabel topics verwijst naar een id in users. In users mis ik echter zo'n tienduizend entries. Ik probeer daar een lijst van te krijgen, zodat ik deze kan aanvullen.
Iets zegt mij dat ik daar een subquery voor nodig heb, en dat heb ik dan ook geprobeerd, maar ik begrijp het niet, en ik doe iets verkeerd.
SQL:
1
| SELECT DISTINCT userId FROM topics WHERE (SELECT COUNT(id) FROM users WHERE users.id=topics.userId)=0; |
Ik krijg hier dus een foutmelding van MySQL. Is er iemand die mij kan uitleggen wat ik fout doe?
Ik ontken het bestaan van IE.