Query uitbreiden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Experienced Lead Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Delft Vacature ID: 13301 Introductie We are seeking a Lead Java Developer for our team in the area of Delft. You will develop an application used exclusively by the engineers and geologists for site characterizations, which imports raw field and laboratory measurements for further processing, integration, ground modelling, and geotechnical analysis and reporting. The client/server application is entirely written in Java, and the server is hosted in the Amazon cloud, utilizing frameworks such as Spring and Hibernate, and connected to an MS SQL Server RDS instance. There is a trend towards using more

Bekijk vacature »

Trainee pega developer

Wil jij een mooie stap maken in jouw carrière? Mooi! Bij De Mandemakers Groep haal je binnen 6 maanden je CSA- en CSSA-certificaten, waarna jij aan de slag kan als Pega-developer in ons IT-team. Achter de schermen zorg jij ervoor dat collega’s efficiënt werken en klanten iedere dag beter geholpen worden. Wil jij daaraan bijdragen? En jouw ICT-skills ontwikkelen? Lees dan snel verder en solliciteer vandaag nog als trainee Pega-developer. Wat ga je doen? Als trainee Pega developer leiden wij je op tot gecertificeerd software developer voor het low-code platform PegaSystems. In de training ben je verantwoordelijk voor een te

Bekijk vacature »

Python developer Consultancy

Functie Als Python developer bij deze organisatie werk je voor verschillende klanten. Doordat de oprichter een groot netwerk heeft kun je zelf voorkeuren uitspreken in het type projecten dat je wilt gaan doen. Zo zijn er bijvoorbeeld langdurige of juist korte projecten, maar is ook het type klant, of project bespreekbaar. Werk jij bijvoorbeeld graag aan een nieuw, state-of-the-art web portaal of ben je liever betrokken bij een migratietraject van een bestaande applicatie? Wij gaan voor jou aan de slag! Eisen • Je bent een gedreven developer met sterke voorkeur voor Python • Je bent meer dan een codeklopper •

Bekijk vacature »

Software Ontwikkelaar C# .NET

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Amersfoort gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Bedrijfsprofiel De organisatie waar je voor gaat werken heeft een onafhankelijk dataplatform ontwikkelt voor de agrarische sector.

Bekijk vacature »

Als Front-end developer werken aan apps voor het o

Functie Als Front-end developer werk je intensief samen met 1 van de UX-designers en denk je mee over de gebruiksvriendelijkheid en design van onze web- en mobile apps. Je bent betrokken bij sessies met gebruikers om designs te valideren en usability van de app-in-wording te testen. Vervolgens gebruik je dit om samen met je team waarin ook back-end (.NET) developers zitten, te zorgen voor de realisatie van de best mogelijke apps voor studenten en docenten. Eisen • Je hebt een hands-on development en coding mind-set en werkt graag aan een high quality code base welke je consequent onderhouden kan worden

Bekijk vacature »

SQL Developer

Functie omschrijving We are looking for a dutch native speaker Jij gaat in deze functie aan de slag met uitdagende projecten en het creëren van maatwerk software, vooral middels SQL. Iedere klant/project is weer anders, maar dat maakt dit bedrijf en de functie erg uniek & uitdagend. Verder heb je de volgende taken: Ontwikkelen en ontwerpen van SQL databases. T-SQL wordt hierbij gebruikt als programmeer laag; Optimalisatie van query's, voor een verbeterde efficiency; Begeleiden van junior developers, mits je dit leuk vindt; Heb je meer interesse in een rol als consultant, dan is dit ook mogelijk. Je heb hier meer

Bekijk vacature »

Senior Front end developer

Functie Wij zijn op zoek naar een ambitieuze, zelfsturende Front-end Expert die ons (internationale) team komt versterken. Onze huidige software development afdeling bestaat uit 7 developers en designers. Wij zijn een écht softwarehuis, dus ervaring in software development is wel echt een must. Er wordt tegelijkertijd aan meerdere projecten gewerkt, voor mooie toonaangevende klanten. Je hebt dus regelmatig te maken met deadlines en opleveringen. Een deel van onze omgeving is in Angular.JS. Dit deel wordt langzamerhand omgebouwd naar de nieuwste versie van Angular. Jouw werkzaamheden zullen bestaan uit: Het aansturen en begeleiden van jouw collega’s Het implementeren van visuele elementen

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Gorinchem zijn wij op zoek naar versterking. Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back end werken! Bedrijfsprofiel Onze

Bekijk vacature »

.NET Developer

Functie omschrijving .NET developer met ervaring gezocht! Voor een softwarebedrijf in de regio Veenendaal zijn wij op zoek naar een .NET developer met een aantal jaar ervaring. Jij bent zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Verder ben je bezig met nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en productspecialisten om zo mooie producten te creëren. Bedrijfsprofiel De organisatie waar je voor gaat werken is een snelgroeiende softwareleverancier en allround dienstverlener. Deze organisatie heeft zowel klanten die

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Front-end developer (React)

Functie Het frontend team bestaat momenteel uit 4 dedicated front-enders en is hard aan het groeien! Ook werken er diverse designers waar je veel mee schakelt. Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren, jij bent hierin de schakel tussen de eindgebruiker en de slimme backend. Je werkt in het frontend team samen met de backend teams en product owners om te zorgen dat onze applicaties een fijne gebruikerservaring opleveren. Ze werken o.a. met: React, Atomic design, Styled components, JavaScript / TypeScript, NPM, Webpack Blade templates, HTML, SCSS, Git flow. Eisen • HBO

Bekijk vacature »

Programmeur / Developer

Voor een familiebedrijf in Doetinchem, actief in de machinebouw voor de food-sector, zijn wij op zoek naar een programmeur / developer. In deze functie ben je werkzaam in een team van 5 medewerkers. Je werkzaamheden bestaan onder andere uit het verhelderen van requirements vanuit de opdrachtgever, de klant en de afdeling ontwikkeling. Je verricht haalbaarheidsstudies en werkt specificaties uit die je afstemt met de opdrachtgever. Je ontwerpt design in software en stemt af met je collega's. De huidige vision-systemen zijn geschreven in C software, welke draait op een CUDA platform. Je schrijft en codeert software en zal gaan testdraaien. Tot

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

React developer Inhouse cloudplatform

Functie De functie: Als front-end developer kom je te werken naast 2 andere front-end/React developers, waaronder één senior. Een hele mooie kans dus om in korte tijd veel nieuwe kennis en ervaring op te doen. Ze hebben momenteel veel werk hierin en daarom willen ze het team graag uitbreiden. Het is van belang dat je, zeker gezien het vele thuiswerken, in ieder geval al een aantal projecten hebt gedaan in React. Taken waar je aan kunt denken zijn het ontwikkelen van client-applicaties o.b.v. HTML5, React en andere open standaarden. Ook ben je nauw betrokken bij het implementeren van designs o.b.v.

Bekijk vacature »

Senior Software developer PHP

Functie Jij als senior PHP ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 developers binnen onze organisatie Jij gaat de brug zijn 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 je taken op voor de dag. Een greep van jouw taken zijn: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden met Security & Privacy Eisen • Minimaal 4

Bekijk vacature »
Frits van Leeuwen

Frits van Leeuwen

04/10/2023 22:12:24
Quote Anchor link
Hallo,

Ik heb een query met Select.
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
SELECT
                IF (SUBSTRING(prstshp_product_lang.name, 1, 2) = '1 ',
                    
                    LOWER( SUBSTRING_INDEX(
                    SUBSTRING(
                        prstshp_product_lang.name,
                        LENGTH( SUBSTRING_INDEX( prstshp_product_lang.name, ' ', 2 ) ) + 2,
                        LENGTH( prstshp_product_lang.name ) - LENGTH( SUBSTRING_INDEX( prstshp_product_lang.name, ' ', 2 ) )
                    ), ' - ', 1 ) ),
                    
                      LOWER( SUBSTRING_INDEX( prstshp_product_lang.name, ' - ', 1 ) )
                    
                ) AS soort,

                SUM(
                    IF (prstshp_product.product_type = 'pack',
                        prstshp_order_detail.product_quantity * prstshp_pack.quantity,
                        prstshp_order_detail.product_quantity
                    )
                ) AS AantalInSoort
                
                FROM prstshp_orders
                LEFT JOIN prstshp_order_detail
                    on prstshp_order_detail.id_order = prstshp_orders.id_order
                    
                LEFT JOIN prstshp_pack
                    on prstshp_pack.id_product_pack = prstshp_order_detail.product_id

                LEFT JOIN prstshp_product
                    ON (prstshp_product.id_product = prstshp_order_detail.product_id AND prstshp_product.product_type = '')
                    OR (prstshp_product.id_product = prstshp_pack.id_product_item )
                    
                LEFT JOIN prstshp_product_lang
                    on prstshp_product_lang.id_product = prstshp_product.id_product
                    AND prstshp_product_lang.id_lang = 1
                    AND prstshp_product_lang.id_shop = prstshp_orders.id_shop
                    
                WHERE ".$current_status."
                
               GROUP BY
                    prstshp_orders.id_order, soort;


De uitkomst van deze query zijn 2 velden: soort en AantalInSoort
Ik wil de regels die hierin voorkomen, vergelijken met een database tabel: prstshp_collect_productstype_packing
Deze tabel bevat:
- id (autom.nummer)
- producttype (text)
- quantity (int)
- id_packing (maar deze is even niet van belang)

De regels die er nog niet in voorkomen, moeten er aan worden toegevoedgd.

Ik ben benieuwd of iemand een oplossing weet.
Alvast bedankt,
Frits
Gewijzigd op 04/10/2023 22:32:13 door - Ariën -
 
PHP hulp

PHP hulp

11/05/2024 20:13:02
 
- Ariën  -
Beheerder

- Ariën -

04/10/2023 22:31:23
Quote Anchor link
Het was even kijken, maar zelf zit ik aan een subquery met INSERT te denken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
INSERT INTO prstshp_collect_productstype_packing (producttype, quantity)
SELECT soort, SUM(AantalInSoort)
FROM (.............


En dit op het einde:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
ON DUPLICATE KEY UPDATE quantity = quantity + VALUES(quantity);
Gewijzigd op 04/10/2023 22:31:35 door - Ariën -
 
Ad Fundum

Ad Fundum

05/10/2023 10:12:23
Quote Anchor link
Ik neem aan dat `soort` en `AantalInSoort` overeenkomen met de kolommen `producttype` en `quantity` in de tabel `prstshp_collect_productstype_packing` (waaruit ik afleid dat je PrestaShop gebruikt?)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
WITH nieuw AS (  -- rekent tussentijds resultaat uit
  SELECT soort, AantalInSoort
  FROM (<je query>) AS bron
    LEFT JOIN prstshp_collect_productstype_packing AS doel
    ON bron.soort = doel.producttype
  WHERE doel.id IS NULL  -- rij is niet aanwezig in doeltabel
)
INSERT INTO prstshp_collect_productstype_packing (producttype, quantity)
SELECT soort, AantalInSoort
FROM nieuw

Dit voegt de regels toe die nog niet voorkomen zoals je vroeg.

Het tussentijdse resultaat is van belang omdat je niet tegelijkertijd data kan selecteren uit de tabel die je gaat wijzigen.
Gewijzigd op 05/10/2023 10:13:07 door Ad Fundum
 
Frits van Leeuwen

Frits van Leeuwen

05/10/2023 12:16:26
Quote Anchor link
- Ariën - en Ad Fundum bedankt voor het antwoord. Ik heb een hoop van jullie geleerd.

En ja ik gebruik Prestashop. Maar ik heb er wel wat tabellen naast gebouwd en wat php pagina's om onze verzending beter te stroomlijnen. Ik wil nu per order bekijken welke verpakking in nodig heb. Het vullen van de eerder genoemde tabel is daar ook een onderdeel van.

producttype is van het type text met utf8_general_ci
quantity is van het type int(11)

Ik weet niet of dat dat juist is als ik het vergelijk met de query. Maar ik denk van wel.


Toevoeging op 05/10/2023 13:32:59:

Ik probeer hem eerst uit voor ik het in php code ga zetten.
In PHPMyAdmin krijg ik de volgende foutmelding:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
#1064 - Er is iets fout in de gebruikte syntax bij 'INSERT INTO prstshp_collect_productstype_packing (producttype, quantity)
SEL...' in regel 55


de code zoals ik die nu heb is als volgt:
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
WITH nieuw AS (  -- rekent tussentijds resultaat uit
  SELECT soort, AantalInSoort
  FROM (
             SELECT
                IF (SUBSTRING(prstshp_product_lang.name, 1, 2) = '1 ',
                    
                    LOWER( SUBSTRING_INDEX(
                    SUBSTRING(
                        prstshp_product_lang.name,
                        LENGTH( SUBSTRING_INDEX( prstshp_product_lang.name, ' ', 2 ) ) + 2,
                        LENGTH( prstshp_product_lang.name ) - LENGTH( SUBSTRING_INDEX( prstshp_product_lang.name, ' ', 2 ) )
                    ), ' - ', 1 ) ),
                    
                      LOWER( SUBSTRING_INDEX( prstshp_product_lang.name, ' - ', 1 ) )
                    
                ) AS soort,

                SUM(
                    IF (prstshp_product.product_type = 'pack',
                        prstshp_order_detail.product_quantity * prstshp_pack.quantity,
                        prstshp_order_detail.product_quantity
                    )
                ) AS AantalInSoort
                
                FROM prstshp_orders
                LEFT JOIN prstshp_order_detail
                    on prstshp_order_detail.id_order = prstshp_orders.id_order
                    
                LEFT JOIN prstshp_pack
                    on prstshp_pack.id_product_pack = prstshp_order_detail.product_id

                LEFT JOIN prstshp_product
                    ON (prstshp_product.id_product = prstshp_order_detail.product_id AND prstshp_product.product_type = '')
                    OR (prstshp_product.id_product = prstshp_pack.id_product_item )
                    
                LEFT JOIN prstshp_product_lang
                    on prstshp_product_lang.id_product = prstshp_product.id_product
                    AND prstshp_product_lang.id_lang = 1
                    AND prstshp_product_lang.id_shop = prstshp_orders.id_shop
                    
                WHERE current_state=2
                    OR current_state=3
                    OR current_state=11
                    OR current_state=20
                
               GROUP BY
                    prstshp_orders.id_order, soort
  ) AS bron
    
    LEFT JOIN prstshp_collect_productstype_packing AS doel
    ON bron.soort = doel.producttype
    
  WHERE doel.id IS NULL  -- rij is niet aanwezig in doeltabel
)
INSERT INTO prstshp_collect_productstype_packing (producttype, quantity)
SELECT soort, AantalInSoort
FROM nieuw;
 
Ad Fundum

Ad Fundum

06/10/2023 08:46:27
Quote Anchor link
Frits van Leeuwen op 05/10/2023 12:16:26:
producttype is van het type text met utf8_general_ci
quantity is van het type int(11)

Kan je negeren tot het misgaat; MySQL / MariaDB doen net als PHP aan impliciete type casting, dwz. ze passen het datatype aan naar gelang de producten denken dat het goed is, ook al is dat soms niet precies wat je bedoelt (en dan pas moet je bijsturen).
Als je op mijn spoor zit en liever voorkomt dan geneest, moet je een andere database als PostgreSQL gebruiken, of zelf heel scherp in de gaten houden wat MySQL / MariaDB aan het doen is. En dat is geen doen.
 
Ivo P

Ivo P

06/10/2023 11:26:15
Quote Anchor link
mis je niet een ; voor INSERT?
 
Frits van Leeuwen

Frits van Leeuwen

06/10/2023 12:21:59
Quote Anchor link
In het voorstel van "Ad Fundum" staat die ook niet.
Ik ben nog niet zo thuis in SQL dat ik deze variant ken, maar aangezien het "nieuw" als een tabel in het geheugen wordt gemaakt en vervolgens in de INSERT wordt gebruikt, lijkt mij dat hier geen ; moet. Maar misschien dat "Ad Fundum" dit beter kan verklaren.
Gewijzigd op 06/10/2023 12:22:34 door Frits van Leeuwen
 
Ad Fundum

Ad Fundum

06/10/2023 14:08:20
Quote Anchor link
Even een reactie tussendoor.
De syntax in mijn vorige vorige post heet CTE (Common Table Expressions), en kan je gebruiken om queries te versimpelen en om zogenaamde recursieve queries te maken.
In mijn post gebruik ik het, omdat het resultaat van een CTE eerst wordt uitgerekend door de database, waarna je het resultaat kan gebruiken in een andere query. Zonder dat het tussentijdse resultaat nog verandert.

Zie ook:
- https://www.mysqltutorial.org/mysql-cte/
- https://dev.mysql.com/doc/refman/8.0/en/with.html#common-table-expressions
- https://stackoverflow.com/questions/15574281/using-the-with-clause-in-an-insert-statement
Gewijzigd op 06/10/2023 14:09:16 door Ad Fundum
 
Frits van Leeuwen

Frits van Leeuwen

06/10/2023 14:22:30
Quote Anchor link
Ad Furdum, bedankt voor de verduidelijking. In tussen ben ik ook opzoek gegaan naar het WITH statement op deze manier. En vond er ook wel iets over.

Waar ik nu over struikel is regel 55. Er zou iets fout zijn, maar ik heb geen idee wat. Want als ik die regel weg laat, vervolgt hij met de SELECT regel en dan krijg ik keurig een lijstje. Maar ik wil natuurlijk de INSERT INTO regel wel er in hebben. Anders krijg ik mijn doel niet. of ik moet het met PHP gaan oplossen. Dat zou jammer zijn.
 
Ad Fundum

Ad Fundum

06/10/2023 15:52:11
Quote Anchor link
Ik moet m'n eigen linkjes beter lezen - in tegenstelling tot wat alle andere databases doen ondersteunt MySQL de constructie WITH .. INSERT INTO niet.
Dus mijn suggestie werkt niet in MySQL.

Ik zou nog kunnen opperen om het het herschrijven zonder WITH:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
INSERT INTO prstshp_collect_productstype_packing (producttype, quantity)
SELECT soort, AantalInSoort
FROM (
  SELECT soort, AantalInSoort
  FROM (<je query>) AS bron
    LEFT JOIN prstshp_collect_productstype_packing AS doel
    ON bron.soort = doel.producttype
  WHERE doel.id IS NULL
) AS nieuw

Maar ik kan daarvan niet inschatten of dat het gewenste resultaat oplevert omdat je tegelijkertijd leest en schrijft naar dezelfde tabel. Dus het beste dat ik je kan aanraden is om het in PHP te doen omdat MySQL het niet kan.

Toevoeging op 06/10/2023 17:10:10:

Oké, dat is wel pessimistisch gesteld. Je kunt (zoals alles in MySQL) het werk zelf doen en zelf een tijdelijke tabel aanmaken met het tussenresultaat.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
CREATE TEMPORARY TABLE nieuw AS
SELECT soort, AantalInSoort
  FROM (<je query>) AS bron
    LEFT JOIN prstshp_collect_productstype_packing AS doel
    ON bron.soort = doel.producttype
  WHERE doel.id IS NULL;

En daarna:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
INSERT INTO prstshp_collect_productstype_packing (producttype, quantity)
SELECT soort, AantalInSoort FROM nieuw;

Om veilig te zitten zou je beide queries in een transactie moeten zetten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
START TRANSACTION;
<eerste query>
<tweede query>
COMMIT;

Maar het was leuker geweest als MySQL (net als alle andere databases) gewoon WITH ... INSERT INTO had ondersteund.
Gewijzigd op 06/10/2023 15:52:52 door Ad Fundum
 
Frits van Leeuwen

Frits van Leeuwen

06/10/2023 23:55:31
Quote Anchor link
Heel erg bedankt dat je de moeite neemt voor het helpen oplossen van het probleem.
Ik kan me voorstellen (na jouw uitleg) dat dit ook niet gaat werken. Dat moet dan inderdaad zijn omdat je schrijft en leest in de zelfde tabel.
Ik had eerder ook aan deze oplossing gedacht, maar dat lukte toen ook niet. Maar dat kan zijn omdat mijn insteek fout was.

Nu lukt het wel. Hartelijk dank.

De code die uiteindelijk werkt is:
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
INSERT INTO prstshp_collect_productstype_packing (producttype, quantity)
SELECT soort, aantalinsoort
FROM (
  SELECT soort, aantalinsoort
  FROM (
   -- start bron
   SELECT
            IF (SUBSTRING(prstshp_product_lang.name, 1, 2) = '1 ',
                LOWER( SUBSTRING_INDEX(
                    SUBSTRING(
                        prstshp_product_lang.name,
                        LENGTH( SUBSTRING_INDEX( prstshp_product_lang.name, ' ', 2 ) ) + 2,
                         LENGTH( prstshp_product_lang.name ) - LENGTH( SUBSTRING_INDEX( prstshp_product_lang.name, ' ', 2 ) )
                    ), ' - ', 1 ) ),
                LOWER( SUBSTRING_INDEX( prstshp_product_lang.name, ' - ', 1 ) )
            ) AS soort,

            SUM(
                IF (prstshp_product.product_type = 'pack',
                    prstshp_order_detail.product_quantity * prstshp_pack.quantity,
                    prstshp_order_detail.product_quantity
                )
              ) AS aantalinsoort

        FROM prstshp_orders
              LEFT JOIN prstshp_order_detail
                  on prstshp_order_detail.id_order = prstshp_orders.id_order

              LEFT JOIN prstshp_pack
                  on prstshp_pack.id_product_pack = prstshp_order_detail.product_id

              LEFT JOIN prstshp_product
                  ON (prstshp_product.id_product = prstshp_order_detail.product_id AND prstshp_product.product_type = '')
                  OR (prstshp_product.id_product = prstshp_pack.id_product_item )

              LEFT JOIN prstshp_product_lang
                  on prstshp_product_lang.id_product = prstshp_product.id_product
                  AND prstshp_product_lang.id_lang = 1
                  AND prstshp_product_lang.id_shop = prstshp_orders.id_shop

        WHERE current_state=2
            OR current_state=3
               OR current_state=11
            OR current_state=20

        GROUP BY
            prstshp_orders.id_order, soort  
      
  ) AS bron
    
    LEFT JOIN prstshp_collect_productstype_packing AS doel
    ON bron.soort = doel.producttype
    
  WHERE doel.id IS NULL
  GROUP BY soort, aantalinsoort  
) AS nieuw
Gewijzigd op 06/10/2023 23:59:21 door Frits van Leeuwen
 



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.