[SQL] positie 1 lager

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

C# Ontwikkelaar

In het kort Als C# .NET Core ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan we deze uitdaging

Bekijk vacature »

SQL database developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als SQL database developer? Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het development team zijn wij op zoek naar een SQL database ontwikkelaar. Wil jij werken voor een groeiende werkgever in regio Breda waar jij de ruimte en tijd 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 werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van logistieke processen; Je gaat projecten vanaf het begin tot het

Bekijk vacature »

Medior PHP Developer

Functie omschrijving We are looking for a dutch native speaker Wil jij als developer werken bij een interne organisatie en de eigen software verder helpen ontwikkelen? Lees dan snel verder! In deze functie ga je werken als PHP Developer en de interne software en applicaties verder ontwikkelen. In het kort houdt dit in: Je gaat de interne applicaties en software verder optimaliseren. Verder bouw je verschillende API's en koppelingen tussen systemen. Je gaat het CRM-systeem door middel van PHP verder ontwikkelen. Ook ga je collega's ondersteunen bij vragen over de software en applicaties. Bedrijfsprofiel Dit bedrijf is actief in het

Bekijk vacature »

Low-Code Expert/Developer: Power Platform Speciali

Bedrijfsomschrijving Als Low-Code Expert/Developer bij ons innovatieve bedrijf, neem je een cruciale rol op je in de creatie, ondersteuning en implementatie van diverse oplossingen met behulp van het veelzijdige Power Platform. Dit platform omvat Power Apps, Power BI, Power Automate, Power Virtual Agent en Azure Logic Apps. Het Power Platform biedt je de mogelijkheid om klanten te voorzien van naadloze integraties door op maat gemaakte oplossingen te creëren die compatibel zijn met (bijna) alle bestaande software-infrastructuren. Dankzij het uitgebreide scala aan toepassingen, krijg je de kans om als architect en projectleider van je eigen oplossing te fungeren. Dompel jezelf onder

Bekijk vacature »

C# developer

Functie Als ervaren Software Engineer wordt jij verantwoordelijk voor het bedenken en ontwikkelen van technische (maatwerk) oplossingen voor onze klanten en dit samen met de klant af te stemmen. Jij wordt o.a. verantwoordelijk voor de doorontwikkeling het software pakket welke voor ons enorm belangrijk is. Dit pakket zorgt er namelijk voor dat wij complete productielijnen kunnen aansturen en monitoren. Daarnaast heb jij actief contact met onze hoofdvestiging om het software achter een van onze systemen te verbeteren en te herschrijven. Momenteel zijn onze C# applicaties geschreven met o.a. Winforms. Echter hebben wij de actieve ambitie om dit te gaan herschrijven

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Alblasserdam zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! 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

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 »

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 »

Outsystems Developer Junior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als junior Outsystems Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van

Bekijk vacature »

Back-end Developer Java

Dit ga je doen Het (door)ontwikkelen van een zelfgebouwde applicatie in Java, Spring Framework, SQL, HTML, CSS en Javascript; End-to-end beheer m.b.t. de applicatie en koppelen van applicaties binnen het landschap; Ontwikkelen van rapportages voor de interne organisatie; Ontwikkelen van aanvullende functionaliteiten m.b.t. de applicatie; Uitvoeren van testen en code reviews. Hier ga je werken Binnen deze organisatie kom je te werken op de afdeling die medische gegevens verzamelt vanuit het hele land. Denk hierbij aan vertrouwelijke persoonsgegevens. Het team verwerkt al deze data met als doel het waarborgen en verbeteren van de kwaliteit van de zorg in heel Nederland.

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een software bedrijf in omgeving Breda zijn wij op zoek naar een SQL database ontwikkelaar. Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het huidige team developers zijn wij op zoek naar een SQL database ontwikkelaar. De klanten van dit groeiende bedrijf zitten door heel Europa en jouw werkzaamheden zullen er als volgt uitzien: Het samenstellen van de software op basis van de input vanuit de klant (T-SQL & C#.NET). Het bezoeken van klanten om de processen en mogelijkheden in kaart te brengen. Het ontwerpen van databases met T-SQL als programmeer laag.

Bekijk vacature »

Medior/Senior Software Developers gezocht in de Ra

Functie Op dit moment staan er posities open voor de volgende functies: Front-end, Back-End & Fullstack software developer. Als Front-End software developer werk je met JavaScript en de bijbehorende technologieën zoals TypeScript, Angular, React, Vue en Svelte. Als Back-End software developer ben je bezig in NodeJS en doe je dit met behulp van AWS, NoSQL, REST en GraphQL. Je krijgt leuke en uitdagende opdrachten met een gemiddelde duur van anderhalf jaar. Hier werk je in een team met andere IT’ers aan het ontwikkelen en verbeteren van software. Je wordt begeleid door een accountmanager die fungeert als jouw aanspreekpunt. Het team

Bekijk vacature »

Front-end PHP Developer

Dit ga je doen Bouwen van de frontend van een nieuwe applicaties; Verbeteren van de user experience; Opstellen van een style guide; Schakelen met collega developers over de te bouwen oplossing; Je speelt een belangrijke rol in het neerzetten van het nieuwe systeem; Werken met o.a. Symfony 6, API Platform, Twig, Javascript, Redis Automatiseren van processen; Koppelen van verschillende functionaliteiten; Unit tests, integration tests, end-to-end tests; In de toekomst ga je nog werken aan andere projecten. Hier ga je werken Voor onze vaste opdrachtgever in de regio Breda zijn wij op zoek naar een Frontend Developer. Het betreft een organisatie

Bekijk vacature »

Software ontwikkelaar

Ben jij graag bezig met verschillende projecten? Vind jij beleving van klanten én medewerkers ook belangrijk? Wij zijn vanwege de doorontwikkeling van het applicatielandschap van onze opdrachtgever op zoek naar een fulltime software ontwikkelaar. Omschrijving Jij en jouw collega’s zijn verantwoordelijk voor de continuïteit en waarborging van het applicatielandschap. Om de processen vloeiend te laten verlopen is software ontwikkeling daarom van essentieel belang. Onze opdrachtgever doet dit voornamelijk zelf, met door hun eigen ontwikkelde applicaties. Dit betekent dat jij: functionele eisen vertaalt naar gebruiksvriendelijke software; tijdens SCRUM sessies advies geeft over het te bouwen ontwerp; nieuwe software ontwikkelt en het

Bekijk vacature »
Robin de Vries

Robin de Vries

11/04/2009 10:59:00
Quote Anchor link
ik heb een tabel
(id int(11),position int(11),img varchar(255),name varchar(255))

ik wil een rij ertussen verwijderen, dus moeten alle rijen waarvan de positie hoger is dan de rij die verwijderd wordt, met 1 worden verlaagd. Van de rij die verwijderd wordt heb ik de id. Nu wil ik met 1 query de rijen ophogen, zonder eerst de positie v/d rij op te halen, dus ik dacht aan iets zoals:

UPDATE celp_software_os SET position=position-1 WHERE position>(SELECT position FROM celp_software_os WHERE id=8)

Het lijkt mij dat het klopt op het SELECT deel na, wat moet daar komen te staan?
 
PHP hulp

PHP hulp

27/05/2026 13:57:51
 
Frank -

Frank -

11/04/2009 11:11:00
Quote Anchor link
Quote:
ik wil een rij ertussen verwijderen, dus moeten alle rijen waarvan de positie hoger is dan de rij die verwijderd wordt, met 1 worden verlaagd

Dat snap ik niet.

Voorbeeldje:
1
2
3

En nu verwijder ik de waarde 2 en hou ik dus over:
1
3

Dit is dus exact dezelfde volgorde als voorheen, alleen mist er nu 1 record. So what?

Een integer kan een paar miljard waardes bevatten, de kans dat dit een probleem wordt, is bijzonder klein. En mocht het een probleem worden, verkoop je jouw product voor heel veel geld of converteer je de INT naar een BIGINT.
 
Robin de Vries

Robin de Vries

11/04/2009 11:14:00
Quote Anchor link
het gaat erom dat de id's een grote wirwar mogen zijn (daarvoor zijn het id's), maar de positie id's moeten aansluitend zijn, zo kun je de volgorde op de website (van bijv. menu items) bepalen.

vb:
id | position |
1 | 1
2 | 3
5 | 2
7 | 5
8 | 4

nu verwijder ik een rij (id=5).
dan wil ik dat dat de positie van 3 rijen met 1 wordt verlaagd (id=2,7,8)
zodat het word:
id | position |
1 | 1
2 | 2
7 | 4
8 | 3
 
Frank -

Frank -

11/04/2009 11:24:00
Quote Anchor link
Is niet nodig, je moet niet denken in de nummers maar in de prioriteit van deze nummers. Nr. 1 komt altijd als eerste, nr. 2 komt altijd voor nr. 3,4,5,6,7, etc. maar ná nr. 1, mocht deze aanwezig zijn. Het doet dus helemaal niet ter zake of 1 nu wel of niet aanwezig is, de volgorde blijft hetzelfde. De waarde "2" kan afhankelijk van de andere waardes en de gewenste sortering (ASC, DESC of random) een bepaalde positie krijgen. Het enige dat je met de kolom position wilt doen, is een relatieve positie geven ten opzichte van de andere waardes in deze kolom. In de browser kun je iedere vorm van presentatie kiezen, dat staat helemaal los van de onderlinge posities.

Je probeert een probleem op te lossen die er helemaal niet is.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Robin de Vries

Robin de Vries

11/04/2009 11:29:00
Quote Anchor link
ik snap best dat er manieren zijn om dit veel beter te doen en slimmer aan te pakken. (Ik zie wel dingen van deze methode terug in SGP, een portaal van phpbb3).
Mijn vraag was, wat de juiste sql-code om mijn 'onhandige' plan te bereiken..

Ik waardeer je commentaar, maar voor ingewikkeldere volgorde veranderingen is het voor mij handiger als de 'relatieve' nummers aansluitend zijn.
 
Frank -

Frank -

11/04/2009 11:41:00
Quote Anchor link
Tja, wat jij wil:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
DELETE FROM tabelnaam WHERE positie = 3;
UPDATE
  tabelnaam
SET
  positie = positie -1
WHERE
  positie > 3;

Let er heel goed op dat dit fout gaat wanneer je meerdere records in 1x verwijdert en dat je altijd een update uitvoert nadat je een delete hebt gedaan. De update kun je automatiseren met een trigger, het beperken van de delete tot slechts 1 record, kun je niet afdwingen. De trigger zal dan ook de mist in gaan. En dus ga je hier bewust risico's nemen zonder dat er enige winst tegenover staat.

Quote:
maar voor ingewikkeldere volgorde veranderingen is het voor mij handiger als de 'relatieve' nummers aansluitend zijn.
Denk even out of the box en verzin een betere oplossing. Je doet nu aannames (dat bepaalde getallen aanwezig zijn) en deze aannames gaan de mist in wanneer er meer dan 1 concurrent user op jouw database zit.

En een corrupte database is niet handig.
 
Robin de Vries

Robin de Vries

11/04/2009 11:46:00
Quote Anchor link
nog 1 dingetje, ik heb alleen de id, niet de positie... dus eerst moet de positie aan de hand v/d id worden bepaald.
 
Frank -

Frank -

11/04/2009 12:00:00
Quote Anchor link
In PostgreSQL kun je de positie opvragen in de DELETE:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
DELETE FROM
  tabelnaam
WHERE
  id = 3
RETURNING
  positie;

Deze query verwijdert het record met id 3 en geeft aan jouw applicatie de oude positie van dit record door. Het resultaat dus even fetchen en gebruiken als input voor de UPDATE.

Met MySQL (en andere databases) heb je een extra SELECT-query nodig die je voor de DELETE uitvoert.

Maar vergeet de trigger niet, die weet ook wat de positie is, zie OLD.positie.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Robin de Vries

Robin de Vries

11/04/2009 12:05:00
Quote Anchor link
bedankt voor je tips, ik zal er zeker rekening mee houden als er een positie systeem komt die door meer dan 1 gebruiker gebruikt zal worden. (Dit is voor het admin control panel)...
 
Frank -

Frank -

11/04/2009 12:11:00
Quote Anchor link
Tja, als je nu had uitgelegd wat het daadwerkelijke probleem is, dan hadden we dat kunnen oplossen. Dan hoef jij er nooit meer aan te denken dat je met meerdere users in de problemen kunt komen.

Gemiste kans.
 
Roel -

Roel -

11/04/2009 12:25:00
Quote Anchor link
Wtf, hoe komt mijn reactie hier terecht?
Gewijzigd op 01/01/1970 01:00:00 door Roel -
 



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.