Update tabel uit berekening

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior Software Developer C# Verhuursector Verhuur

Samengevat: Wij ontwikkelen en leveren softwaresystemen voor de logistieke sector en de verhuursector. Ben jij geschikt als Junior Software Developer? Heb je ervaring met Delphi? Vaste baan: C# Software Developer Logistiek HBO €2.500 - €3.900 Deze werkgever is een software ontwikkelaar, gericht op software voor de logistieke sector. Deze werkgever heeft eigen producten ontwikkelen en leveren ook maatwerk. Ons bedrijf kent een boeiende en inspirerende werkomgeving met een open cultuur en mogelijkheden voor je verdere ontwikkeling. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om

Bekijk vacature »

Full stack developer Python, React

Functie Jij als full stack developer komt binnen onze Technology afdeling te werken. Deze bestaat momenteel uit 15 man. De stack waarmee wij werken is voornamelijk Python, Javascript, React en GraphQL. Binnen deze afdeling wordt er met multidisciplinaire teams gewerkt aan verschillende projecten. Projecten duren vaak langer dan 3 maanden en je bent van begin tot eind vaak betrokken. Naast dat je als full stack ontwikkelaar aan de slag gaat ben je ook Consultant. Dit betekent dat je ook klantcontact hebt in je rol en werkshops geeft. De verhouding tussen deze werkzaamheden zijn ongeveer 70% development en 30% consultancy. Een

Bekijk vacature »

C# .NET Backend Developer HBO Javascript

Samengevat: Deze werkgever is een professionele speler op gebied van IT en E-Commerce. Wil jij werken voor een e-commerce platform? Heb je ervaring met C#, Javascript en Scrum? Vaste baan: C# .NET Developer Backend E-Commerce 3.400 - 4.500 Backend Developer Wij ontwikkelen software voor E-Commerce toepassingen. Ons eigen Content Management systeem biedt een integrale oplossing met diverse ERP software. Onze systemen zijn vaak complex en omvangrijk en draaien bij grote organisaties. Maar ook kleine ondernemingen hebben steeds vaker behoefte aan een vlekkeloos werkende E-Commerce oplossing. Zij bieden een uitdagende werkomgeving met gezellige collega's. Je krijgt veel vrijheid en er is

Bekijk vacature »

Front-end Developer - Juniorfunctie

Functie omschrijving Ben jij op zoek naar een uitdagende baan als front-end developer, in een informele werksfeer, waar jij echt het verschil kan maken? Wil jij graag werken voor een bedrijf dat sportiviteit en een open communicatie, hoog in het vaandel heeft staan? Dan hebben wij de perfecte vacature voor je! Voor een klein bedrijf in Rijen dat gespecialiseerd is in het omzetten van digitale woningtekeningen naar managementinformatie, zijn wij per direct op zoek naar een allround front-end developer. Jouw werkzaamheden zien er als volgt uit: Ja gaat nauw samenwerken met de back-end developer. De database structuur is volledig gebouwd

Bekijk vacature »

In-house .NET software developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house development functie? Maak jij graag hét verschil m.b.t. interne automatisering? Haal jij energie uit het automatiseren van processen voor je eigen collega's? Dan hebben wij de perfecte vacature voor je! Voor een gezellig Brabants familiebedrijf, zijn wij op zoek naar een .NET software developer. Je gaat in deze zelfstandige functie werken aan de ontwikkeling van eigen applicaties & en het koppelen van deze applicaties aan de ingekocht software. Jouw werkzaamheden zien er als volgt uit: Het management team signaleert behoeftes vanuit de business. Vervolgens worden deze behoeftes uitgewerkt en geprioriteerd.

Bekijk vacature »

Back-end developer

Dit ga je doen Development d.m.v. XQuery, JSON/XML en REST API's; Ontwikkelen aan een tof en complex zorgplatform; Koppelingen maken met de NoSQL database; Testen en documenteren van de ontwikkelde functionaliteiten; Samenwerking met andere front- en back-end ontwikkelaars. Hier ga je werken Voor een vooruitstrevende organisatie binnen de zorg in Den Haag zijn wij opzoek naar een Back-end Developer die ervaring heeft met o.a.XQuery en Vue.JS of daarin graag zou willen ontwikkelen. Je zal ontwikkelen aan een tof en complex zorgplatform en koppelingen maken met de NoSQL database. Ook het testen en documenteren van de ontwikkelde functionaliteiten behoort tot jouw

Bekijk vacature »

Front-end developer (medior/senior)

Functie Het team bestaat uit een architect, fullstack developers, app developers, de product owner en projectmanager. Eenieder draagt vanuit zijn discipline bij aan een complete oplossing voor de klant. Uiteraard zul je hierin nauw samenwerken met je collega’s. Jij wordt verantwoordelijk voor de front-end implementatie en fungeert als lead op dit gebied binnen het team. Je kunt helder formuleren, ideeën uitdragen en overbrengen aan je collega’s. Qua technische stack is het vooral van belang dat je ervaren bent met Angular, HTML5, CSS en TypeScript. Verder is ervaring in NgRx, Bootstrap, BEM en Cypress een pré, evenals affiniteit met UX/UI Design!

Bekijk vacature »

Ontwikkelaar MS Dynamics 365 Projecten

Samengevat: Deze werkgever is de kwaliteitsdienst in de tuinbouwsector. Ben jij een ervaren ontwikkelaar? Heb jij ervaring met Ms Dynamics 365 BC? Vaste baan: Ontwikkelaar Ms Dynamics 365 BC ICT MBO 3.500 - 5.000 Ontwikkelaar Ms Dynamics 365 BC Ons bedrijf bewaakt en bevordert de kwaliteit van producten, processen en ketens in de tuinbouw. Wij kenmerken zich door openheid, ruimte voor initiatief, collegialiteit en zelfontplooiing. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Functie: Voor de vacature als Ontwikkelaar Ms Dynamics 365 BC Roelofarendsveen MBO

Bekijk vacature »

Senior Software Developer C++

Vacature details Vakgebied: Software/IT Opleiding: Senior Vacature ID: 13342 Introductie Do you want to work for one of the most innovative companies located in the region of Eindhoven. Currently Due to growth we are looking for a Senior Software Developer. Our client is a high-tech company with international roots and can provide you with a challenging opportunity. Functieomschrijving Responsibilities: Design, develop, and maintain high-quality software applications in C++ Collaborate with other engineers, product managers, and stakeholders to understand requirements and develop solutions Write clean, maintainable, and efficient code Conduct thorough testing and debugging to ensure high-quality software Optimize applications for

Bekijk vacature »

Node.js developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

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 »

Medior Java developer

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 »

Cymer Patch Server Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 12919 Introductie This new patch server will be built on Python and Django ReST and GraphQL services with a React frontend, it will consist of several microservices and run on a Kubernetes cluster. It will be supported by several middleware applications such as ElasticSearch, Redis, RabbitMQ, Oracle and Artifactory. Functieomschrijving The Patch Admin team always aim to deliver software at a high quality, we avoid sacrifices here to maintain our velocity. Practically this means that we practice test driven development and perform end-to-end automated testing on our software. This means

Bekijk vacature »

Junior Software Developer (HBO / WO)

Functie omschrijving Wij zijn op zoek naar een Junior Software Developer! Sta jij aan het begin van je carrière en heb je net je HBO of WO-diploma in de richting van ICT of Techniek mogen ontvangen? En heb jij grote affiniteit met software development? Dan hebben wij bij Jelling IT Professionals de perfecte opdrachtgever in de omgeving van Utrecht, die jou tot een volwaardig Fullstack Software Developer gaat opleiden. Binnen deze grote organisatie krijg je ruime en professionele trainingen die jouw in korte tijd vakbekwaam maken. Niet alleen het aan technisch aspect, maar ook zeker jouw persoonlijke ontwikkeling wordt veel

Bekijk vacature »

Back-end Programmeur

Functieomschrijving Heb jij kort geleden je HBO ICT in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een ambitieuze werkgever in de regio van Breda zijn wij op zoek naar een Back-end programmeur met affiniteit met C#.NET, SQL en MS Access. Samen met team bestaand uit ware ICT professionals ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Belangrijk is dat je kennis of ervaring hebt van C#.NET en SQL. Je toont een flexibele en sociale houding naar klanten toe. Je denkt in nieuwe mogelijkheden & gaat graag de uitdaging aan. Bedrijfsprofiel De

Bekijk vacature »
Jan R

Jan R

30/04/2019 09:12:46
Quote Anchor link
Hoi,

Ik probeer een tabel bij te werken zonder succes.
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
update
    trn_spelers s1
        set s1.grafischevolgorde=
            (select
                FIND_IN_SET(if(s1.elo<>"",s1.elo,-s1.id), (
                SELECT GROUP_CONCAT(if(elo<>"",elo,-id)
                ORDER BY
                    if(elo<>"",elo,-id) DESC
                ) rang
                FROM trn_spelers
                where
                    id_toernooi=s1.id_toernooi)) r
            from
                trn_spelers s1
            left join
                trn_spelers s2
                on s1.id=s2.id
            where
                s1.id_toernooi=37)
where
    s1.id_toernooi=37

Ik krijg steeds de fout: #1093 - You can't specify target table 's1' for update in FROM clause.
Ook al met een join geprobeerd maar ik raak er niet uit wijs :(
s1.id_toernooi=37 word via PHP opgebouwd
velden
grafischevolgorde==>float
id==>int
id_toernooi==>int
elo varchar(5)
De if is om uniekere resultaten te hebben indien er geen elo opgegeven is.


Hoe kan ik dit oplossen?

Jan
 
PHP hulp

PHP hulp

26/05/2026 11:08:27
 
Thomas van den Heuvel

Thomas van den Heuvel

30/04/2019 16:05:47
Quote Anchor link
Bouw eenvoudigere queries en zet alles in een transactie? Aangenomen dat je een database engine hebt die dat ondersteunt (InnoDB).

Ook lijkt het alsof e.e.a. niet helemaal uitgenormaliseerd/gestructureerd is. Mogelijk kun je daar ook nog winst pakken, het ziet er nu naar uit dat data min of meer geëncodeerd staat opgeslagen in kolommen?
Gewijzigd op 30/04/2019 17:09:53 door Thomas van den Heuvel
 
Aad B

Aad B

01/05/2019 20:45:03
Quote Anchor link
Dit is het mutating table probleem: je kan tabel trn_spelers niet updaten en tegelijkertijd selecteren in de from clause uit deze trn_spelers. Dit weigert vrijwel elk RDBMS gewoon omdat de kans bestaat dat je iets update dat in de select geselecteerd is wat dan weer de selectie ongeldig kan maken.
De foutmelding is daarin heel duidelijk: You can't specify target table trn_spelers for update in FROM clause.
Ik heb voor de duidelijkheid s1 even veranderd in trn_spelers want dat is wat er bedoeld wordt.
Gewijzigd op 01/05/2019 20:57:13 door Aad B
 
Thomas van den Heuvel

Thomas van den Heuvel

01/05/2019 22:45:27
Quote Anchor link
En de enige manier om te garanderen dat de geSELECTeerde gegevens niet wijzigen (of liever gezegd, de enige manier om te garanderen dat jouw huidige batch queries de enige partij is die records kan wijzigen (write lock)) is SELECT ... FOR UPDATE binnen een transactie.
 
Jan R

Jan R

02/05/2019 06:58:17
Quote Anchor link
Thomas van den Heuvel op 30/04/2019 16:05:47:
Ook lijkt het alsof e.e.a. niet helemaal uitgenormaliseerd/gestructureerd is. Mogelijk kun je daar ook nog winst pakken, het ziet er nu naar uit dat data min of meer geëncodeerd staat opgeslagen in kolommen?


Waaruit leid je dit af?
De tabel bevat alle verplichte info van de spelers 14 kolommen en 1 kolom "opmerking". Voor 1 kolom maak ik geen extra tabel :)

@Aad B: Sommige sites schrijven een oplossing welke ik dus niet werkende kreeg.

Ik heb het probleem opgelost via javascript.
Beiden bedankt om mee te denken.
 
John D

John D

02/05/2019 10:29:49
Quote Anchor link
Thomas van den Heuvel op 01/05/2019 22:45:27:
En de enige manier om te garanderen dat de geSELECTeerde gegevens niet wijzigen (of liever gezegd, de enige manier om te garanderen dat jouw huidige batch queries de enige partij is die records kan wijzigen (write lock)) is SELECT ... FOR UPDATE binnen een transactie.

Ook dan lukt het je niet en krijg je de foutmelding: You can't specify target table for update in FROM clause. Je kan eenvoudig niet de target table ook nog eens in de FROM clause gebruiken. Ook niet in transacties. Elke SQL engine weigert dat. MySQL, Oracle, MicrosoftSQL, MariaDB maakt niet uit.
Onderstaand wordt wel een aardige oplossing geboden:http://logic.edchen.org/how-to-resolve-error-1093-hy000-you-cant-specify-target-table-xxxx-for-update-in-from-clause/
Maak een temporary table die aan het einde van de transactie automatisch wordt verwijderd.

enne "Ik heb het probleem opgelost via javascript." Hoe doe je dat? javascript draait in de browser, oplossen je data naar de client halen en dan verwerken?
Gewijzigd op 02/05/2019 11:10:39 door John D
 
Adoptive Solution

Adoptive Solution

02/05/2019 19:21:18
Quote Anchor link
Hier oplossingen die werken.

https://7php.com/mysql-update-select-statement-1093/

Solution 1 toegepast in mijn knopenwinkel middels een procedure :

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
CREATE PROCEDURE `Pennies`(IN `Rekening` smallint(12), IN `Pennies` bigint(12))
UPDATE
    account p1,
    (
        SELECT
            ( sp.amount_pennies + Pennies ) AS new_pennies
        FROM
            account sp
        WHERE
            acct_num = Rekening
    ) AS p2
SET
    p1.amount_pennies = p2.new_pennies
WHERE
    acct_num = Rekening;


Die kan je dan met een CALL oproepen met een + of - waarde :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
CALL `Pennies`('137', '-50');
Gewijzigd op 02/05/2019 19:22:16 door Adoptive Solution
 
Thomas van den Heuvel

Thomas van den Heuvel

02/05/2019 19:43:30
Quote Anchor link
@John D uiteraard in twee aparte queries. Eén met een SELECT ... FOR UPDATE, en dan een UPDATE query. Beide binnen een transactie.

@Adoptive, dat werkt misschien, maar vormt dat een ondeelbaar geheel? En mogelijk hangt het atomair zijn van een query af van de database engine. Misschien gaat het toch mis in een MyISAM opstelling waarbij die procedure heel vaak parallel wordt aangeroepen? Het zijn juist die randgevallen die je wilt vermijden.

Wat mij betreft is de enige manier om te garanderen dat informatie niet verandert gedurende een wijziging de gebruikmaking van een transactie.
 



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.