select en count probleem
ik heb een probleem met het uitbreiden van een query. onderstaande query werkt goed, maar ik krijg de uitbreiding niet werkend.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
SELECT p.page_url AS url,
COUNT(*) AS occurrences
FROM page p, word w, occurrence o
WHERE p.page_id = o.page_id AND
w.word_id = o.word_id AND
w.word_word = 'dames'
GROUP BY p.page_id
ORDER BY occurrences DESC;
?>
SELECT p.page_url AS url,
COUNT(*) AS occurrences
FROM page p, word w, occurrence o
WHERE p.page_id = o.page_id AND
w.word_id = o.word_id AND
w.word_word = 'dames'
GROUP BY p.page_id
ORDER BY occurrences DESC;
?>
Na de uitbreiding komt de query als volgt uit te zien (zie onderstaande code). echter blijft de query hangen en doet hij dus helemaal niets.
Het is de bedoelint dat "count" word berekend adhv "p.page_url" FROM page p, maar de rest van de gegevens moet ook uit de tabel gehaald worden om naar het scherm geschreven te worden...iets wat me dus niet lukt met deze code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
SELECT
c.categorie_url AS categorie,
l.leeftijd_url AS leeftijd,
n.naam_oms AS naam,
s.naamsite_url AS naamsite,
x.omschrijving_url AS omschrijving,
p.page_url AS url,
y.website_url AS website,
z.woonplaats_url AS woonplaats,
COUNT(p.page_url) AS occurrences FROM
categorie c, leeftijd l, naam n, naamsite s, omschrijving x, page p, website y,
woonplaats z, word w, occurrence o
WHERE p.page_id = o.page_id AND
w.word_id = o.word_id AND
w.word_word = 'dames'
GROUP BY p.page_id
ORDER BY occurrences DESC;
?>
SELECT
c.categorie_url AS categorie,
l.leeftijd_url AS leeftijd,
n.naam_oms AS naam,
s.naamsite_url AS naamsite,
x.omschrijving_url AS omschrijving,
p.page_url AS url,
y.website_url AS website,
z.woonplaats_url AS woonplaats,
COUNT(p.page_url) AS occurrences FROM
categorie c, leeftijd l, naam n, naamsite s, omschrijving x, page p, website y,
woonplaats z, word w, occurrence o
WHERE p.page_id = o.page_id AND
w.word_id = o.word_id AND
w.word_word = 'dames'
GROUP BY p.page_id
ORDER BY occurrences DESC;
?>
met de eerste code (die werkt) kan ik de volgende regel naar het scherm schrijven
echter hoort er bij $row['url']. dus ook een omschrijving, naam en dergelijk dus moet ik uiteindelijk iets als dit naar het scherm kunnen schrijven:
Code (php)
iemand enig idee hoe ik dit voor elkaar kan schrijven en wat ik momenteel fout doe ?
groeten
Robin
Gewijzigd op 01/01/1970 01:00:00 door Robin
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
SELECT * FROM database AND
COUNT(p.page_url) AS occurrences
FROM page p, word w, occurrence o
WHERE p.page_id = o.page_id AND
w.word_id = o.word_id AND
w.word_word = 'dames'
GROUP BY p.page_id
ORDER BY occurrences DESC;
?>
SELECT * FROM database AND
COUNT(p.page_url) AS occurrences
FROM page p, word w, occurrence o
WHERE p.page_id = o.page_id AND
w.word_id = o.word_id AND
w.word_word = 'dames'
GROUP BY p.page_id
ORDER BY occurrences DESC;
?>
En trouwens zoals je je query nu hebt, je selecteerd gegevens uit 10 verschillende tabellen maar waar is de afhankelijkheid tussen die tabellen gebleven? Ik zie er maar 2...
1 regel bestaat dus uit = page_id categorie_id, naam_id etc....
Maar hoe beslis je dan of iets in 1 kolom thuis hoort of dat je het in meerdere tabellen moet opsplitsen ?
Denk je dat ik het beste iets als dit kan doen :
tabel page maken bestaande uit:
- page id
- url
- omschrijving
- naam
- etc
en dan een query in de richting van dit ?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
SELECT p.page_url AS url,
p.page_omschrijving AS omschrijving,
p.page_naam AS naam,
p.page_etc AS etc,
COUNT(*) AS occurrences
FROM page p, word w, occurrence o
WHERE p.page_id = o.page_id AND
w.word_id = o.word_id AND
w.word_word = 'dames'
GROUP BY p.page_id
ORDER BY occurrences DESC;
?>
SELECT p.page_url AS url,
p.page_omschrijving AS omschrijving,
p.page_naam AS naam,
p.page_etc AS etc,
COUNT(*) AS occurrences
FROM page p, word w, occurrence o
WHERE p.page_id = o.page_id AND
w.word_id = o.word_id AND
w.word_word = 'dames'
GROUP BY p.page_id
ORDER BY occurrences DESC;
?>
Gewijzigd op 01/01/1970 01:00:00 door Robin
Quote:
Daar hebben we een hele mooie tutorial over normaliseren voor. Maar hoe beslis je dan of iets in 1 kolom thuis hoort of dat je het in meerdere tabellen moet opsplitsen ?
Hoe jouw datamodel eruit moet komen te zien kan ik je zo niet zeggen, ik weet immers niet welke gegevens je hebt, wat je met die gegevens wilt en wat de onderlinge relatie tussen die gegevens is.