matchcombo

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Randstad B.V.- Freelance Senior Fullstack Develope

Startdatum: 01.05.2023 Richttarief: € 75,00 - €85,00 Duur van de opdracht: 1 jaar Uren per week: 40 Werkmodel: Hybride, dinsdag en donderdag aanwezig op kantoor in Diemen en meer wanneer dit nodig is. Functieomschrijving: De ideale kandidaat gaat onderdeel uitmaken van een junior team binnen het foundation domein. Vanuit het foundation domein werkt dit team samen met andere foundation teams en teams uit het online domein (professionals B2B en B2C) voor het bouwen en integreren van HRM functionaliteiten (verlof en benefits) in de persoonlijke portal van Interim Professionals. Er is meer backend werk dan frontend, maar kandidaat moet beiden leuk

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Ontwikkelaar Centrale Monitoring

Ontwikkelaar centrale Monitoring Functieomschrijving Wil jij een bijdrage leveren aan het onderhoud, opzetten en ontwikkelingen van technologieën van SSC-ICT, een van de grootste ICT-dienstverleners van en voor de Rijksoverheid? Je komt als monitorspecialist te werken bij team Operations Management Services. Dit team werkt aan het stabiliseren en waarborgen van een betrouwbare monitoromgeving voor 7 ministeries. Jij begeleidt het implementatieproces van de te monitoren technologieën, onder andere via management packs, connectoren en API's. Je hebt hiervoor veel contact met interne en externe klanten, die hun wensen op het gebied van monitoring aan jou doorgeven. Je beoordeelt deze wensen en komt met

Bekijk vacature »

Front-End React Developer

As a Front-End React Developer you improve the user-experience of our web applications for your colleagues in Coolblue. How do I become a Front-End React Developer at Coolblue? As a Front-End React Developer you are responsible for developing user interface components and implementing them using React.js concepts and workflows. You work with the UX Designer and get energy from coming up with creative solutions and present these within the team. During the day you gather and welcome feedback on your technical and soft skills. Would you like to become a Front-End React Developer at Coolblue? Read below if the job

Bekijk vacature »

C#.NET ontwikkelaar

Functieomschrijving Voor een gewaardeerde werkgever in regio Tilburg zijn wij op zoek naar een C#.NET ontwikkelaar. Je bent verantwoordelijk voor het ontwikkelen van dashboards, webapplicaties en apps voor de eigen IOT-oplossingen. Samen met een vooruitstrevend team van ontwikkelaars en engineers krijgen jullie de opdracht om de sensoren in de apparatuur te scannen en vervolgens de data om te zetten in belangrijke inzichten voor de klanten. Taken en verantwoordelijkheden: Heb jij ideeën over nieuwe technieken die jullie kunnen implementeren? Hier wordt echt naar je geluisterd en gekeken of jouw idee daadwerkelijk ingezet kan worden; Je gaat aan de slag met de

Bekijk vacature »

PHP back-end developer gezocht!

Functie Werk je liever zonder druk en keiharde deadlines maar met de focus op kwaliteit? Dan kom je hier op de juiste plek terecht! In Het team bestaat momenteel uit 12 developers, hiernaast werken er collega’s van front-end, UX maar ook marketing/sales en support. In iedere sprint ontwikkel je samen functionaliteiten met als uitdaging om de klanten de beste gebruikerservaring te bieden. Ze bieden een werkplek waar je jezelf kunt blijven ontwikkelen, en mee te werken aan zowel bestaande als nieuwe mogelijkheden. Eisen • HBO werk- en denkniveau (ze kijken niet naar een papiertje) • Je denkt graag mee over

Bekijk vacature »

C# .NET Developer

Dit ga je doen Ontwikkelen van de Back-end in .NET6 / C# en WebAPI (Focus);) Ontwikkelen van de Front-End in Nodje.js en Angular (secundair); Ontwikkelen in Blazor; Opstellen van een technisch ontwerp; Testen, documenteren en implementeren van de nieuwe applicatie; Verzorgen van de nazorg, na de implementatie. Hier ga je werken Binnen deze organisatie werken duizenden mensen binnen allerlei verschillende disciplines. Tevens hebben zij veel specialiteiten in huis, waaronder ook .Net Developers. Ter uitbreiding van een nieuw team en ter ondersteuning van het project zijn ze opzoek naar een nieuwe collega voor het team. Als C#.NET Developer zal jij je

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Ervaren Software Developer

Functie omschrijving Ben jij een ervaren Software Developer, en heb je ervaring met technieken zoals C#, MS Access & SQL? Vind jij het leuk om maatwerk software te ontwikkelen voor klanten in een specifieke branche? Dan is dit de baan voor jou! Als ontwikkelaar ben jij samen met een team van 12 collega’s verantwoordelijk voor het bouwen van nieuwe functionaliteiten en het uitbreiden van de core applicatie. Belangrijk is dat je ervaring hebt met C# en MS Access. Je bent flexibel en klantvriendelijk ingesteld, omdat het belangrijk is om de klanten zo goed mogelijk van dienst te kunnen zijn. Thuiswerken

Bekijk vacature »

Senior Product Developer

Functieomschrijving Als senior Product Developer ben je verantwoordelijk voor bestaande mobiliteitsproducten en de ontwikkeling van nieuwe mobiliteitsconcepten. Met behulp van diverse klantonderzoeken, klantsessies en salesmeetings zorg je ervoor dat je de veranderende mobiliteitsbehoeften in de markt kent. Hier speel je op in door innovatieve, flexibele, efficiënte en duurzame vervoersoplossingen te bedenken, te ontwikkelen, te implementeren en uiteindelijk samen met Sales en Marketing collega’s in de markt te zetten. Je initieert en neemt deel aan (internationale en afdeling overschrijdende) projecten, vaak in de rol van projectleider. In die rol bewaak je de voortgang, coördineer je de activiteiten en zorg je voor

Bekijk vacature »

Senior PHP developer/ Software Architect

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

SQL ontwikkelaar

Functieomschrijving Voor een gave werkgever in regio Breda zijn wij per direct op zoek naar een SQL ontwikkelaar/ functioneel consultant. Hier wordt jij mede verantwoordelijk voor zowel de design en implementatie van SQL-databases als voor het verstaan van de processen van klanten naar het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt als volgt uit te zien: Je test de ontwikkelde oplossingen om er zeker van te zijn dat deze voldoen aan de functionele specificaties en de behoeften van de organisatie; Je ontwerpt, ontwikkelt en implementeert SQL-databases om de data behoeften van de organisatie te ondersteunen; Je stelt op

Bekijk vacature »

Front End Developer React Vue

Dit ga je doen Meewerken aan de implementaties en ontwikkeling van nieuwe functionaliteiten van de webapplicaties; Ontwikkelen met o.a. React en Vue en HTML/CSS, ook krijg je in verband met de samenwerking ook affiniteit met de backend Ruby on Rails; Ontwikkeling aan de front end voor de koppelingen tussen de diverse systemen; Ontwerpen van interfaces en een bijdrage leveren aan de gebruikerservaring; Zorgdragen voor hoge kwaliteit van code en jezelf (en anderen) blijven verbeteren; Als Senior Front End Developer begeleid je zelf ook FE-development projecten, hierin leid je de projecten en pak jij het initiatief op (bv integratieprojecten). Hier ga

Bekijk vacature »

Belastingdienst - Freelance Applicatieontwikkelaar

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Hybride. Kantoordagen in Utrecht, incidenteel in Apeldoorn Functieomschrijving: De afdeling IV – Generieke Voorzieningen – Interactie Online is onderdeel van de keten Interactie. De missie van de keten is: “het faciliteren van de interactie met alle burgers, bedrijven en hun vertegenwoordigers om hen in staat te stellen aan hun fiscale verplichtingen te voldoen en aanspraak te maken op hun rechten.” De afdeling Interactie Online heeft een belangrijke bijdrage binnen deze keten. Dit door het ontwikkelen

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een gewaardeerde werkgever in regio Tilburg waar jij de tijd en ruimte krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je gaat projecten vanaf het begin tot het eind begeleiden. Je sluit aan bij meetings met klanten om hun processen in kaart te brengen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt

Bekijk vacature »
Francoi gckx

Francoi gckx

30/10/2012 11:36:50
Quote Anchor link
ik ben bezig met een functie:

<code>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
function match_Combo($een, $twee, $drie, $vier, $vijf) {

if (!isset($een)) {
            
            
                $geselec = "SELECT id, Locatie, Werkervaring, Naam_Functie FROM vacatures WHERE";
                $gesele = "SELECT id, Locatie, Werkervaring, Naam_Functie FROM vacatures WHERE";
                if (!isset($twee)) { } else { $perc++;
                    
                    
                            $query .= $geselec . " Werkervaring LIKE '%".$twee."%'";
                            $geselec = " AND";
                            $quer .= $gesele . " Werkervaring LIKE '%".$twee."%'";
                            $gesele = " OR";
                            
                                }
    
                if (!isset($drie)) { } else { $perc++;                     
                            $query .= $geselec . " Werkervaring LIKE '%".$drie."%'";
                            $geselec = " AND";
                            $quer .= $gesele . " Werkervaring LIKE '%".$drie."%'";
                            $gesele = " OR";
                            
                            }

                if (!isset($vier)) { } else { $perc++;
                            $query .= $geselec . " Locatie LIKE '%".$vier."%'";
                            $geselec = " AND";
                            $quer .= $gesele . " Locatie LIKE '%".$vier."%'";
                            $gesele = " OR";
                            
                            }

                if (!isset($vijf)) { } else { $perc++;
                            $query .= $geselec . " Naam_functie LIKE '%".$vijf."%'";
                            $quer .= $gesele . " Naam_functie LIKE '%".$vijf."%'";
                            $gesele = " OR";
                            
                            }

                                echo $query . "<br />";
                                $result3 = $mysqli->query($query);
                                echo $quer . "<br />";
                                $result33 = $mysqli->query($quer);
                                
                                
            }
else { echo "Fout"; }
                
echo " 1: " . $een . " 2: " . $twee . " 3: " . $drie . " 4: " . $vier . " 5: " . $vijf . "<br />";
return $perc;
 
}
                
?>

</code>

als ik dit uitvoer wordt de query:


SELECT id, Locatie, Werkervaring, Naam_Functie FROM vacatures WHERE Werkervaring LIKE '%hbo%' AND Werkervaring LIKE '%autocad%' AND Locatie LIKE '%zuid%' AND Naam_functie LIKE '%piping%'

LET OP: ik heb de waarde van $een niet ingevuld

Maar dit geeft 1 resultaat wat ik wil is een simpele oplossing zodat hij eerst kijkt naar:
$twee gecombineerd met $drie $vier en $vijf ( is bijv 1 resultaat dat is zoals de query bove nu is)
$twee gecombineerd met alleen $drie $vier of $vijf (afijn je snapt de bedoeling)


ZONDER dat er een resultaat/record word herhaald
Gewijzigd op 30/10/2012 11:39:06 door Francoi gckx
 
PHP hulp

PHP hulp

27/05/2026 04:52:13
 
Flip --

Flip --

30/10/2012 12:34:35
 
Francoi gckx

Francoi gckx

30/10/2012 12:49:40
Quote Anchor link
ik heb die topic helemaal doorgelezen voordat ik de nieuwe topict heb geopend maar ben er daar niet uitgekomen dus ik dacht geef een betere nieuwe uitleg hierin met nieuwe code
 
Kris Peeters

Kris Peeters

30/10/2012 12:58:33
Quote Anchor link
Ik heb een antwoord.

Copy/paste dit eens in phpMyadmin en zie wat er gebeurt.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
SELECT
  id, Locatie, Werkervaring, Naam_Functie,
  (Werkervaring LIKE '%hbo%') as match_1,
  (Werkervaring LIKE '%autocad%') as match_2,
  (Werkervaring LIKE '%zuid%') as match_3,
  (Werkervaring LIKE '%piping%') as match_4
FROM vacatures
HAVING
  (match_1 + match_2 + match_3 + match_4) > 0
ORDER BY
  (match_1 + match_2 + match_3 + match_4) DESC


Op deze manier: hoe meer items een match hebben, hoe meer bovenaan
Gewijzigd op 30/10/2012 12:58:55 door Kris Peeters
 
Francoi gckx

Francoi gckx

30/10/2012 13:08:16
Quote Anchor link
Volgens mij werkt dit 100 procent dit is echt een grote stap voor mij in mij leer fase
dus dan kan ik mijn functie van 150 lines weggooien:)

Ik kan je niet genoeg bedanken Kris

Oja in phpmyadmin krijg ik volgens mij de resultaat die ik wil hebben
dus als match_$x overal een 1 heb dan heeft die op al die woorden gematch toch???

Toevoeging op 30/10/2012 13:17:58:

o toch nog een vraag wat doet die HAVING statement eigenlijk?
Gewijzigd op 30/10/2012 13:09:57 door Francoi gckx
 
Kris Peeters

Kris Peeters

30/10/2012 13:22:23
Quote Anchor link
Francoi gckx op 30/10/2012 13:08:16:
o toch nog een vraag wat doet die HAVING statement eigenlijk?


Het zelfde als de WHERE.
Maar ... Bij WHERE gaat het om velden die in de tabel voorkomen; met HAVING kan je ook de berekende velden aanspreken.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

30/10/2012 14:08:39
Quote Anchor link
Met HAVING kan je in MySQLaliassen uit de SELECT gebruiken, dat is heel handig bij filters op berekeningen. Het doet in principe hetzelfde als WHERE.
De query van Kris kan ook heel goed, maar het nadeel daar aan is (vind ik)dat je dan in PHP moet uitvogelen hoeveel en welke kolommen gematched hebben, daarom doe ik dat altijd met UNION en GROUP BY:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
38
39
40
41
42
43
44
SELECT
    vid.id,
    v.Naam_Functie
    COUNT(*) AS total_matches,
    GROUP_CONCAT(vid.matched_word) AS matched_words
FROM
    (SELECT
        id,
        'hbo' AS matched_word
    FROM
        vacatures
    WHERE
        Werkervaring LIKE '%hbo%'
    UNION
    SELECT
        id,
        'autocad' AS matched_word
    FROM
        vacatures
    WHERE
        Werkervaring LIKE '%autocad%'
    UNION
    SELECT
        id,
        'zuid' AS matched_word
    FROM
        vacatures
    WHERE
        Werkervaring LIKE '%zuid%'
    UNION
    SELECT
        id,
        'piping' AS matched_word
    FROM
        vacatures
    WHERE
        Werkervaring LIKE '%piping%'
    ) AS vid
INNER JOIN
    vacatures AS v
    ON
        vid.id = v.id
GROUP BY vid.id
ORDER BY total_matches DESC
 
Flip --

Flip --

30/10/2012 14:23:06
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

30/10/2012 14:27:32
Quote Anchor link
Nope, alleen wat dingen uitgebreid en iets omgedraaid ;-)
Gewijzigd op 30/10/2012 14:30:46 door Ger van Steenderen
 
Francoi gckx

Francoi gckx

30/10/2012 14:32:13
Quote Anchor link
ok volgens mij werkt die ook even vergelijken

Toevoeging op 30/10/2012 14:44:50:

Juist dit is super ik krijg total matches als kolom en de matchwoorden dit is precies wat ik wil hebben

de vorige code vond ik een beetje te ingewikkeld met fake foo enzo


Toevoeging op 30/10/2012 14:49:46:

wat is vid.id, =

Toevoeging op 30/10/2012 14:52:54:

Misschien vraag ik nu teveel maar zou je kunnen uitleggen hoe jou query ongeveer werkt
Gewijzigd op 30/10/2012 14:39:33 door Francoi gckx
 
Kris Peeters

Kris Peeters

30/10/2012 16:22:06
Quote Anchor link
Laat me hier, zo dadelijk, een beetje op antwoorden.

Eerst:
Mijn code is een constructie die je vrij gemakkelijk kan opzetten, en die bruikbaar is voor alle gelijkaardige query's.
Je hebt het gevoel dat de clausules in de WHERE iets te streng of te los zijn. Al die clausules splits je op en je vormt ze om tot vlaggen ( http://en.wikipedia.org/wiki/Flag_(computing) ).
Eens het goed werkt, kan je zo'n constructie omvormen tot iets zoals Ger gedaan heeft. Dit laatste heb ik dus niet gedaan; laat ons zeggen dat het een gemakkelijkheidsoplossing is van mijnentwege.

Trouwens, nog iets extra wat je kan doen (je kan dit ook inwerken in Ger zijn query): je kan extra gewicht geven.
stel bv. dat je Autocad dubbel zo belangrijk vindt als de rest
Dan kan je dit doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
  ORDER BY(match_1 +  2 * match_2 + match_3 + match_4) DESC


-----

Dan, de subquery.
Het punt van de subquery is dit:
Een query zoekt rijen in een tabel. Het resultaat daarvan is echter opnieuw een tabel. Een tabel die eventueel minder velden heeft en minder rijen (anders kan ook hoor).
Die resulterende tabel is dus op zich prima bruikbaar om opnieuw een query op los te laten.

Een voorbeeld:
- STEL: je hebt een tabel twitteraars. 1 van de velden (posts) zegt hoeveel tweets de persoon heeft.
- Gevraagd: willekeurig drie twitteraars uit de top 10 (Probeer zelf maar eens ... niet zo'n evidente query)

Mochten we een tabel hebben waarin enkel de top 10 staat, al in volgorde van posts ... dan zou het gemakkelijk zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT id, tweet FROM top_tien_in_volgorde ORDER BY RAND() LIMIT 3


Wel, met een subquery kunnen we exact dit doen; we kunnen tabel top_tien_in_volgorde tijdelijk aanmaken. Zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
SELECT id, tweet FROM (
  SELECT id, tweet
  FROM twitteraars
  ORDER BY posts DESC
  LIMIT 10
) AS top_tien_in_volgorde
ORDER BY RAND()
LIMIT 3


( Ik probeer gewoon een punt te maken, uiteraard mag je die alias een kortere naam geven )

You see?
... en dus, met een aantal stappen extra raak je tot Ger zijn query
Gewijzigd op 30/10/2012 16:26:55 door Kris Peeters
 
Ozzie PHP

Ozzie PHP

30/10/2012 16:37:58
Quote Anchor link
Offtopic:

@Ger en Kris: hoe komt het dat jullie zo goed zijn in het maken van queries? Kunnen jullie een bepaalde tutorial of boek aanraden?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

30/10/2012 17:07:32
Quote Anchor link
Goeie uitleg Kris.
Ter extra verduidelijking:
De subquery staat in de FROM en die moet je een alias geven (zo niet krijg je een error), zodat je het als een (virtuele) tabel kan behandelen, in dit geval heb ik vid als alias gebruikt.

Offtopic:

Bij mij komt het omdat ik zo slim ben :-P
Nee hoor, nu zonder gekheid, er zijn wel wat tutorials over SQL, maar die zijn vrij basic. Een boek over SQL heb ik nooit gehad, bij mij is het meer een kestie van veel doen en goed zoeken op internet
Gewijzigd op 30/10/2012 17:08:21 door Ger van Steenderen
 
Francoi gckx

Francoi gckx

30/10/2012 17:56:37
Quote Anchor link
dat extra gewicht geven komt misschien wel van pas (trouwens bedankt voor de uitleg)
maar bij Ger is het zo: ORDER BY total_matches

moet ik dan (een stukje code van ger):
<code>
SELECT
id,
'autocad' AS matched_word
FROM
vacatures
WHERE
Werkervaring LIKE '%autocad%'
UNION
</code>

veranderen in
<code>
SELECT
id,
'autocad' AS matched_word
FROM
vacatures
WHERE
(Werkervaring LIKE '%autocad%') as match_3,
UNION
</code>

en dan als laatste (ongeveer)?:
<code>
ORDER BY (total_matches + 2 * match_3) DESC
</code>

Ik kan morgen pas testen
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

30/10/2012 18:11:40
Quote Anchor link
Nee, je kan het weight wel meegeven in de SELECT in de subquery. De subquery bestaat uit een aantal 'losse' querietjes die tot één recordset worden samengevoegd met UNION.
En dan de COUNT in SUM veranderen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
38
39
40
41
42
43
44
45
46
47
SELECT
    vid.id,
    v.Naam_Functie,
    SUM(vid.weight) AS total_weight,
    GROUP_CONCAT(vid.matched_word) AS matched_words
FROM
    (SELECT
        id,
        'hbo' AS matched_word,
        1 AS weight
    FROM
        vacatures
    WHERE
        Werkervaring LIKE '%hbo%'
    UNION
    SELECT
        id,
        'autocad' AS matched_word,
        3 AS weight
    FROM
        vacatures
    WHERE
        Werkervaring LIKE '%autocad%'
        SELECT
        id,
        'zuid' AS matched_word,
        1 AS weight
    FROM
        vacatures
    WHERE
        Werkervaring LIKE '%zuid%'
    UNION
    SELECT
        id,
        'piping' AS matched_word,
        1 AS weight
    FROM
        vacatures
    WHERE
        Werkervaring LIKE '%piping%'
    ) AS vid
INNER JOIN
    vacatures AS v
    ON
        vid.id = v.id
GROUP BY vid.id
ORDER BY total_weight DESC

Je kan namelijk gewoon vaste waardes in een SELECT list opgeven, dat hoeft niet persee een kolom te zijn.
Gewijzigd op 30/10/2012 19:18:18 door Ger van Steenderen
 
Francoi gckx

Francoi gckx

30/10/2012 18:18:37
Quote Anchor link
Aah kijk is wat mooi

Elk SELECT t/m WHERE is een subquery? En UNION verbind de volgende SELECT (subquery)? en aan het einde (AS vid)
beslaat al die subqueries verbonden door UNIONs?

snap alleen dit stukje niet:

INNER JOIN
vacatures AS v
ON
vid.id = v.id
Gewijzigd op 30/10/2012 18:19:18 door Francoi gckx
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

30/10/2012 19:07:23
Quote Anchor link
Nee het zijn niet echt subqueries, het zijn een aantal opeenvolgende queries, waarvan de resulterende rijen worden telkens aan het resultaat worden toegevoegd door de UNION. Dus als bv de eerste query 5 rijen oplevert, de tweede 1, de derde 0 en de vierde 1, heb je in totaal 6 klinkt als 7 rijen. Met UNION kan je dus 2 tabellen bij elkaar 'optellen'.
De subquery is hetgeen tussen de haakjes staat - FROM ( ... ) AS vid -
Probeer de subquery maar eens uit in PhpAdmin dan zie je wat er gebeurd.

De INNER JOIN is niet noodzakelijk, eigenlijk niet eens nodig, je kan die kolommen ook in de union query's meenemen.
Gewijzigd op 30/10/2012 19:08:24 door Ger van Steenderen
 
Francoi gckx

Francoi gckx

30/10/2012 19:35:12
Quote Anchor link
Zo te zien werkt het superieur

Toevoeging op 31/10/2012 10:49:33:

Ok nu is mijn nieuwe functie zo geworden:
De foutmelding is dit: ver version for the right syntax to use near ') AS vid INNER JOIN vacatures AS v ON vid.id' at line 35
<code>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?php

function match_Combo($een, $twee, $drie, $vier, $vijf) {

global $result3;


  
include('includes/db-connectie-info.php');
                $geselec = "SELECT
                            vid.id,
                            v.Naam_Functie,
                            COUNT(*) AS total_matches,
                            GROUP_CONCAT(vid.matched_word) AS matched_words
                        FROM
                            ("
;
                            
                if (isset($een)) {
                    
                $query .= $geselec .
                            "SELECT
                                id,
                                '$een' AS matched_word
                            FROM
                                vacatures
                            WHERE
                                Werkervaring LIKE '%$een%'
                            UNION "
;
                $geselec = '';
                }
            
                if (isset($twee)) {

                $query .= $geselec .
                            "SELECT
                                id,
                                '$twee' AS matched_word
                            FROM
                                vacatures
                            WHERE
                                Werkervaring LIKE '%$twee%'
                            UNION "
;
                $geselec = '';            
                }

                if (isset($drie)) {
                
                $query .= $geselec .
                            "SELECT
                                id,
                                '$drie' AS matched_word
                            FROM
                                vacatures
                            WHERE
                                Werkervaring LIKE '%$drie%'
                            UNION "
;
                $geselec = '';            
                }

                if (isset($vier)) {            
                            
                $query .= $geselec .            
                            "SELECT
                                id,
                                '$vier' AS matched_word
                            FROM
                                vacatures
                            WHERE
                                Locatie LIKE '%$vier%'
                            UNION "
;
                $geselec = '';            
                }

                if (isset($vijf)) {            
                    
                $query .= $geselec .    
                            "SELECT
                                id,
                                '$vijf' AS matched_word
                            FROM
                                vacatures
                            WHERE
                               Naam_Functie LIKE '%$vijf%'
                            UNION "
;
                $geselec = '';    
                }

                $query .=    ") AS vid
                            INNER JOIN
                                vacatures AS v
                                ON
                                    vid.id = v.id
                            GROUP BY vid.id
                            ORDER BY total_matches DESC"
;
                        
        $result3 = $mysqli->query($query);
            echo $query;
}

?>

</code>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.