matchcombo

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-end Developer

Functie omschrijving Als Back-end Developer heb je de eer om als eerste interne developer bij deze organisatie te beginnen. Op dit moment zijn er externe developers, maar daar wil de organisatie verandering in brengen. Op termijn moet de gehele afdeling uit intern personeel bestaan. Je kan je voorstellen dat de eerste interne developer ook de nodige kennis mee moet brengen. Dat klopt. Je gaat je namelijk aan het begin bekommeren over de externe developers en uiteindelijk over je interne collega's. Verder ga je het volgende doen: Het bedenken, beheren en onderhouden van webportalen, API-koppelingen en applicaties; Je bedenkt en werkt

Bekijk vacature »

Ervaren Full-Stack PHP Developer

Functieomschrijving Gezocht! Ervaren PHP Developer! Voor een organisatie in de regio Harderwijk zoeken wij een ervaren PHP Developer die het IT team van dit bedrijf gaat versterken. We zijn op zoek naar een enthousiaste en breed georiënteerde IT-er die het innovatieve bedrijf nog een stap verder kan brengen. Voor deze functie zoeken wij iemand die communicatief goed is en die zelfstandig problemen op kan lossen. Je werkt samen met een externe ontwikkelpartij en kunt hun dus uitdagen op het geleverde werk. Het schrijven van concepten aan de AI en hardware kant valt onder je verantwoordelijkheden. Het bedrijf noemt zichzelf een

Bekijk vacature »

OutSystems developer

Dit ga je doen Klanten adviseren over de mogelijkheden van OutSystems; OutSystems oplossingen ontwikkelen en implementeren; Stakeholdermanagement; Kennis en expertise up to date houden en delen met het team. Hier ga je werken Onze opdrachtgever, gevestigd in regio Amsterdam, is een innovatieve dienstverlener die zich richt op grote corporates in verschillende sectoren. Doordat je bij veel verschillende klanten aan de slag zal gaan is geen enkel project hetzelfde. De organisatie kenmerkt zich door hoge mate van professionaliteit en innovatieve oplossingen. In de rol van OutSystems developer zal jij verschillende grote klanten helpen om efficiënte OutSystems oplossingen te ontwikkelen en implementeren.

Bekijk vacature »

.NET Developer

Dit ga je doen Tot jouw takenpakket behoort onder andere: Webapplicaties ontwerpen, bouwen, testen en implementeren in .NET/C#.; Ontwikkelen, implementeren en beheren van maatwerkapplicaties; Onderhouden en beheren van standaardpakketten; Onderzoeken en beoordelen van nieuwe technieken. Hier ga je werken Als .NET ontwikkelaar kom je te werken bij een grote semioverheidsinstelling in Nijmegen. De organisatie staat garant voor het leveren van onderwijs en les- en onderzoeksmateriaal voor duizenden betrokkenen. De organisatie wil bijdragen aan een gezonde, vrije wereld met gelijke kansen voor iedereen. Binnen de teams hangt een open en collegiale cultuur met veel aandacht voor een prettige en sociale werksfeer.

Bekijk vacature »

Front end developer

Functie Qua type opdrachten is er echt een verscheidenheid aan afnemers, zo werken ze met grote multinationals, maar ook met startups. Zo kom je te werken in een gevarieerde omgeving en kan je ook schakelen tussen verschillende culturen. De projecten variëren van greenfield projecten tot langdurige ontwikkeltrajecten. Hier wordt alleen maar gewerkt met aan front end projecten. Daarom maakt het onze partner niet uit waar jij kennis van hebt, als je maar gedegen kennis hebt van Javascript frameworks, Unit testing en ook bekend bent met de scrum methodiek. Eisen Minimaal 4 jaar relevante werkervaring Kennen en ervaring van Javascript frameworks

Bekijk vacature »

Software Developer C++ en Perl

Ben je een slimme en enthousiaste universitair opgeleide bèta die graag bij een relatief klein softwarebedrijf wil werken waar de sfeer goed is en eigen inbreng gewaardeerd wordt? Wij, IntelliMagic in Leiden, ontwikkelen technisch hoogwaardige software op het gebied van IT infrastructuur performance analytics. Het type software zorgt voor intellectueel interessante uitdagingen. We ontwerpen de producten zelf en verkopen deze als off-the-shelf software aan grote bedrijven in Europa en de VS. Wij zoeken een ervaren C++ software engineer met kennis van Perl voor een van onze ontwikkelteams. Werkzaamheden Samen met de andere ontwikkelaars specificeren, ontwerpen en implementeren van nieuwe functionaliteit

Bekijk vacature »

Database ontwikkelaar

Functieomschrijving Wil jij aan gave logistieke softwareprojecten werken en bij een uniek softwarebedrijf in de regio van Tilburg? Wacht niet langer en reageer snel op deze vacature. Als Database ontwikkelaar ga je aan de slag het schrijven van stored procedures en verder uitbouwen van de SQL database. Je werkt in een database team, met allemaal mensen die energie krijgen van software en techniek. Verder krijg je als taak: Optimaliseren en uitbouwen van de MS SQL databases die gebruikt worden; Optimaliseren van query's, waardoor er efficiënter gewerkt kan worden; Je werkt met de technieken T-SQL of PL/SQL; Bij interesse kan je

Bekijk vacature »

Fullstack JavaScript Developer Webapplicaties

Bedrijfsomschrijving Voor deze organisatie ben ik op zoek naar een getalenteerde Fullstack JavaScript Developer. Ze is een snelgroeiend software development agency dat zich richt op het ontwikkelen van moderne webapplicaties en complexe systemen voor haar klanten. Ze is gevestigd onder de rook van Utrecht en heeft als doel om tot de top van de Nederlandse agencies te behoren. Deze organisatie maakt softwareoplossingen voor verschillende soorten bedrijven. Innovatie staat hoog in het vaandel en je zult dus met nieuwe technieken aan de slag gaan. Ze hebben klanten in vele branches zitten, zoals retail, finance, gezondheid en onderwijs. De diverse klanten zorgen

Bekijk vacature »

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

Bekijk vacature »

Senior PHP developer met ambities tot Software Arc

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 »

Front end developer React Sportgames

Functie Als Front end developer ga jij aan de slag bij een gave en bekende organisatie op het gebied van sportgames. Jij gaat aan de slag in een scrumteam met 6 developers die gepassioneerd en actief bezig zijn om spelers kwalitatieve en mooie spelervaringen aan te bieden. Als scrumteam werken ze in drie wekelijkse sprints en begin je iedere ochtend met een stand-up. Als Front end developer werk jij bij deze organisatie voornamelijk met Javascript, html, css en React. Er wordt veel gebruikt gemaakt ook van C#, Docker en Kubernetes. Het team hecht veel waarde aan het leveren van hoogwaardige

Bekijk vacature »

Low Code Developer voor o.a. overheidsprojecten!

Bedrijfsomschrijving Wil jij ook behoren tot de specialist in Low Code? Dan zou ik zeker aanraden om verder te lezen. Deze organisatie is ooit opgericht door twee studenten en is inmiddels uitgegroeid tot een serieuze werkgever met een groot aanzien op Low Code projecten. De sfeer is echter niet veranderd, er heerst een informele sfeer met een open deuren beleid, en hierin mag de eigen bar natuurlijk niet ontbreken. Momenteel maakt deze organisatie een flinke groei door en hier kan jij natuurlijk niet bij ontbreken. Daarom ben ik op zoek naar Low Code Developers met een degelijke technische achtergrond. Kennis

Bekijk vacature »

Medior PHP Developer

Functie omschrijving Ben jij een getalenteerde PHP Developer en aan de slag in een gemotiveerd team? Lees dan snel verder! Voor onze opdrachtgever in de omgeving van Valkenswaard zijn we op zoek naar een ervaren PHP developer. Jij gaat hier zorg dragen voor het optimaliseren en up-to-date houden van de bestaande applicaties. Je werkt verder aan de applicaties die jij verder ontwikkelt. Dit doe je voornamelijk met PHP en MySQL. Verder ga je je bezig houden met: Het uitbouwen van het E-commerce software platform. Deelnemen aan overleggen met het team. Het ondersteunen van jouw team developers (3 man) en helpen

Bekijk vacature »

Freelance Fullstack Java Developer

Functieomschrijving Voor een opdrachtgever in omgeving Rotterdam zijn wij op zoek naar ervaren Fullstack JAVA Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid hebben

Bekijk vacature »

Senior Front-end Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Senior Front-end Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

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

22/12/2024 20:22:44
 
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.