Toon posts:

[SQL-server]Update Query met subquery.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb volgende probleem.

Ik ben bezig met het importeren van gegevens vanuit xls, naar een MS-SQL database.

Nu heb ik 2 kolomen waarbij de datum foutief wordt geimporteerd. Ik heb inmiddels een query gemaakt welke de datum tijdelijk omzet naar een smalldate en vervolgens convert. Echter nu wil ik deze graag automatisch alles laten update. Ik kan alleen niet vinden hoe ik voor elkaar krijg om de juiste waarde te vinden.

Ik gebruik nu

code:
1
2
UPDATE tbl_Ecr
set releaseDate=(SELECT CONVERT(varchar(10),cast(releasedate as smalldatetime),105) from tbl_ecr )


Ik heb geprobeerd of ik met een join misschien de match kon leggen maar blijf toch terug krijgen dat het niet kan omdat natuurlijk logisch mijn select te veel waardes terug geeft. Iemand een idee hoe ik ervoor kan zorgen dat ik de juiste waarde terug krijg.

ECRNumber vormt de sleutel van de tabel.

Alvast bedankt

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Mijn eerste idee: Waarom moeilijk doen als het makkelijk kan? Klik in 2 minuten een DTS package in elkaar en run die eenmalig ;)
Anderzijds: Waarom gebruik je uberhaupt een subquery?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:54
Je hebt hier afaik helemaal geen subquery nodig .
code:
1
2
update tabel
set releasedate = Convert ( .... )


Enneh, waarom sla je een datum op in een varchar veld ? Doe es niet... :)

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op dinsdag 16 januari 2007 @ 10:51:
Je hebt hier afaik helemaal geen subquery nodig .
code:
1
2
update tabel
set releasedate = Convert ( .... )


Enneh, waarom sla je een datum op in een varchar veld ? Doe es niet... :)
Ik gebruik nvarchar omdat dit gebruikt wordt in de aangeleverde database, welke deel uit maakt van een 3 tier applicatie als ik dit verander werkt de code niet meer die erboven ligt.

Ohja ik cast hem eerst omdat, wanneer ik hem op nvarchar liet staan hij hem niet wilde converten omdat hij hem niet als datum zag.

Even kijken dus ik heb nu 2 tabellen eentje met de geimporteerde gegevens en eentje met de juiste tabel.

Nu zou ik dus een dts package moeten maken welke die gegeven kan update even proberen.

Verwijderd

Topicstarter
whoami schreef op dinsdag 16 januari 2007 @ 10:51:
Je hebt hier afaik helemaal geen subquery nodig .
code:
1
2
update tabel
set releasedate = Convert ( .... )


Enneh, waarom sla je een datum op in een varchar veld ? Doe es niet... :)
:*) Dankje het was inderdaad dom om een subquery te gebruiken heb nu aangepast in

code:
1
2
UPDATE tbl_Ecr
set releaseDate=CONVERT(varchar(10),cast(releasedate as smalldatetime),105)


en werkt :*)