Bedrijf max 1 keer ophalen/uitlezen
Ik heb de volgende query:
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
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$where = '';
foreach($_POST['cat'] as $key => $value){
if($where == ''){
$where .= "
WHERE
categorie_id = ".$value."
";
}
else {
$where .= "
OR
categorie_id = ".$value."
";
}
}
echo $where;
echo '<br /><br />';
$resultquery = "
SELECT
k.bedrijf_id as bedrijf_id,
b.id as bedrijven_id,
b.bedrijfsnaam as bedrijfsnaam,
k.categorie_id as categorie_id
FROM
bed_cat as k
INNER JOIN
bedrijven as b
ON
k.bedrijf_id = b.id
".$where."
";
$resultsql = mysql_query($resultquery) or trigger_error(mysql_error());
while($result = mysql_fetch_assoc($resultsql)){
echo $result['bedrijf_id'].' '.$result['bedrijfsnaam'] .'<br />';
}
foreach($_POST['cat'] as $key => $value){
if($where == ''){
$where .= "
WHERE
categorie_id = ".$value."
";
}
else {
$where .= "
OR
categorie_id = ".$value."
";
}
}
echo $where;
echo '<br /><br />';
$resultquery = "
SELECT
k.bedrijf_id as bedrijf_id,
b.id as bedrijven_id,
b.bedrijfsnaam as bedrijfsnaam,
k.categorie_id as categorie_id
FROM
bed_cat as k
INNER JOIN
bedrijven as b
ON
k.bedrijf_id = b.id
".$where."
";
$resultsql = mysql_query($resultquery) or trigger_error(mysql_error());
while($result = mysql_fetch_assoc($resultsql)){
echo $result['bedrijf_id'].' '.$result['bedrijfsnaam'] .'<br />';
}
Bedrijf met ID 1 zit in categorie 1, 2 en 3. Nu toont hij in het overzicht bedrijf 1 dus 3 keer.
Dit moet 1 keer zijn, maar ik krijg het niet voor elkaar. Wat kan ik doen om er voor te zorgen dat een bedrijf maximaal 1 keer getoond wordt in het overzicht?
Alvast bedankt
Misschien even een DISTINCT op het bedrijf id.
@Jurgen = bedankt. Dit was alleen niet de oplossing. Ik heb inmiddels een GROUP BY gebruikt.
Jurgen B schreef op 23.02.2009 14:13:
@Jurgen = bedankt. Dit was alleen niet de oplossing. Ik heb inmiddels een GROUP BY gebruikt.
Wat jij gedaan hebt is niet de oplossing. GROUP BY gebruik je alleen icm functies las COUNT() MAX() MIN()
je moet gewoon met DISTINCT aan de slag bijvoorbeeld als:
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven