Ik heb 2 tabellen. een met artikelnrs. een met artnr-prijs-aktueel (j/n) nu wil ik dus alle artikelnrs hebben die of geen prijs-record hebben of geen aktuele prijs hebben. Hoe doe ik dit???
tabel: artikelen
tabel: prijzen
Deze tabel kan 500 records per artikel hebben, maar heeft altijd max 1 aktueel=J ( als een prijs 500x gewijzigd is )
Een artikel kan aangemaakt worden zonder prijs ( zijn 2 aparte programma's ) terwijl dit nimmer en nooit de bedoeling is. Nu wil ik dus de records uit de tabel artikelen hebben die niet in de tabel prijzen staan.
Ik heb al gekeken naar joins, maar deze doen niet wat ik wil, want dan moet ik altijd opgeven wat overeenkomt. Terwijl er juist geen overeenkomst moet zijn.
Wat ik zelf als tussen tussenoplossing heb gebouwd is :
Maar dit werkt niet echt 100% lekker met 22.000 artikelen, dit levert even leuk 22.001 query's op. Heel raar, maar mijn mysql timed out
tabel: artikelen
code:
1
| artikelnr int(13) |
tabel: prijzen
code:
1
2
3
4
5
| artikelnr int(13) aktueel char(1) = j/n prijs decimal(6,2) ingangsdatum date() einddatum date() |
Deze tabel kan 500 records per artikel hebben, maar heeft altijd max 1 aktueel=J ( als een prijs 500x gewijzigd is )
Een artikel kan aangemaakt worden zonder prijs ( zijn 2 aparte programma's ) terwijl dit nimmer en nooit de bedoeling is. Nu wil ik dus de records uit de tabel artikelen hebben die niet in de tabel prijzen staan.
Ik heb al gekeken naar joins, maar deze doen niet wat ik wil, want dan moet ik altijd opgeven wat overeenkomt. Terwijl er juist geen overeenkomst moet zijn.
Wat ik zelf als tussen tussenoplossing heb gebouwd is :
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| $query="select artikelen.artikelnummer, from artikelen "; $result = mysql_query($query); if (mysql_num_rows($result)>0) { while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { $query2="select prijzen.artikelnummer from prijzen where aktueel=\"J\" and artikelnummer=" . $line[artikelnummer] . " "; $result2 = mysql_query($query2); if (mysql_num_rows($result2)==0) { $afdruk .= $line["artikelnummer"] . $line["omschrijving"]; } } } |
Maar dit werkt niet echt 100% lekker met 22.000 artikelen, dit levert even leuk 22.001 query's op. Heel raar, maar mijn mysql timed out