Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Update SQL Befehl

Frage Entwicklung

Mitglied: ThomasKern

ThomasKern (Level 1) - Jetzt verbinden

01.12.2013 um 12:32 Uhr, 1584 Aufrufe, 8 Kommentare

Hallo zusammen,

ich häng gerade an einem SQL Befehl fest, und wollte fragen ob mir evtl. jemand auf die Sprünge helfen kann?

Folgende Konstellation der Tabelle. (vereinfachte Ansicht)

Tabelle LAGER

4f92004aa59c6c31ee6e298aa3c44c95 - Klicke auf das Bild, um es zu vergrößern




Bsp.

Artikelnummer 1: 25 * 0,6% soll die 0 mit 15 ersetzten
Artikelnummer 2: 0,9 * 0,6 soll die 0 mit 0,63 ersetzen
usw.
.
So soll für jeden Artikel der B-Ware EK Preis berechnet werden.

hoffe ich konnte meine Frage verständlich machen.

Vorab besten Dank

Viele Grüße
Tom
Mitglied: certifiedit.net
01.12.2013 um 12:38 Uhr
Hallo Tom,

wie sieht denn dein bisheriger Versuch aus? Abgesehen davon macht der Tabellenaufbau imho wenig Sinn?
Bitte warten ..
Mitglied: Maliko
01.12.2013 um 12:54 Uhr
Nun. Wenn du nicht alle auf einmal Ändern willst, dann könntest du es über folgendes Statement versuchen:

UPDATE Test SET EK = (SELECT Test.EK FROM Test WHERE Test.Lagerort = 'Hauptlager' AND Test.Artikelnummer = 1) * 0.6 WHERE Lagerort = 'B-Ware' AND Artikelnummer = 1
Bitte warten ..
Mitglied: ThomasKern
01.12.2013 um 13:00 Uhr
Hallo certifiedit,

vielen dank für die Antwort.

bin leider in SQL noch nicht so fit. Mein versuch war.

UPDATE Lager set Ek = Ek*0,6 where Lagerort = 'B-Ware'

ich vermute ich brauche noch eine zweites mal where wo die Artikelnummer mit einbeziehe.

Der Tabellen aufbau ist leider vorgegeben und kann von mir nicht verändert werden.

Viele Grüße
Tom
Bitte warten ..
Mitglied: ThomasKern
01.12.2013 um 13:06 Uhr
Hallo Maliko,

Danke für deine Hilfe.

doch ich möchte schon gerne alle Artikel auf einmal ändern. Später soll der Befehl auch täglich ausgeführt werden und für jeden Artikel den B-Ware EK neu berechnen.

Hintergrund:
nur immer die Hauptlager EK Preise werden aktuell gehalten, und die B-Ware EK Preise sollen automatisch angepasst werden. Der B-Ware EK ist immer Hauptlager EK * 0,6.

Viele Grüße
Tom
Bitte warten ..
Mitglied: ThomasKern
01.12.2013 um 14:34 Uhr
Kann mir keiner weiterhelfen??
Bitte warten ..
Mitglied: Maliko
01.12.2013 um 14:45 Uhr
Meines Wissens nach ist es gar nicht möglich das als ein einziges Statement zu lösen. Du musst es entweder für jede Artikelnummer einzeln machen, oder aber ein kleines Programm schreiben, welches in einer Schleife Artikelnummer für Artikelnummer durchgeht.
Bitte warten ..
Mitglied: Biber
01.12.2013, aktualisiert um 18:22 Uhr
Moin ThomasKern,

willkommen im Forum.

Zitat von ThomasKern:

Bsp.

Artikelnummer 1: 25 * 0,6% soll die 0 mit 15 ersetzten
Artikelnummer 2: 0,9 * 0,6 soll die 0 mit 0,63 ersetzen
So, bei euch sind also 90 Cent * 60% als Verkaufspreis dann 63 Cent?
Dann sei froh, wenn ich der einzige Nachrechner bleibe.

Bei einer Updateanweisung kämen jedenfalls 0.54 statt 0.63 heraus, um zum Kern zu kommen (kleines Wortspiel).

Beispiel:
01.
Update Lager L left join ( 
02.
   Select Artikelnummer, 0.6 * Ek as calcEK  
03.
   from Lager  
04.
   where Lagerort ="Hauptlager" 
05.
  ) H on L.artikelnummer=H.artikelnummer 
06.
set  L.Ek = H.CalcEK 
07.
where L.lagerort="B-Ware" 
08.
and exists (select 1  from Lager H  
09.
                where H.Lagerort ="Hauptlager"  
10.
               and H.Artikelnummer=L.artikelnummer)
Wenn der (unterstellte) PK deiner Lagertabelle dann auch "lagerort, artikelnummer" ist, dann sollte es klappen.

P.S. Ich würde mich eher krankmelden, bevor ich in einer produktiven DB ein Update auf Stringvergleiche wie "B-Ware" und "Hauptlager" mache. Gibt es da wenigstens Constraints auf eine Lagerort-Tabelle bzw. eine Artikeltabelle?

Und wie jedes zweite Mal in diesem Bereich:
wir können besser helfen, wenn wir wissen, mit welcher Datenbank und welcher Version hier rumgeSQLed wird.

Grüße
Biber
Bitte warten ..
Mitglied: ThomasKern
01.12.2013 um 18:19 Uhr
Danke für die Hilfe ;)
Bitte warten ..
Ähnliche Inhalte
Entwicklung
gelöst SQL Update aus derselben Tabelle (1)

Frage von winscheil zum Thema Entwicklung ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (19)

Frage von montylein1981 zum Thema Windows Server ...

Datenbanken
MS SQL - Update Text Feld mit Steuerzeichen (4)

Frage von emeriks zum Thema Datenbanken ...

Windows Server
gelöst SQL Server 2008R2 Update über Windows Microsoft Updates wird nicht mehr angeboten (4)

Frage von TimSterntaler zum Thema Windows Server ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (49)

Frage von sabines zum Thema Internet ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

Frage von iAmbricksta zum Thema LAN, WAN, Wireless ...

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (14)

Frage von aschmid zum Thema Router & Routing ...

Windows Server
Server 2012 R2 - Zugriff Verweigert bei jeglicher Tätigkeit (13)

Frage von DarkLevi zum Thema Windows Server ...