Top-Themen

Aktuelle Themen (A bis Z)

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, 1610 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
Datenbanken
SQL Update-Befehl mit Zeichenketten
gelöst Frage von TlBERlUSDatenbanken6 Kommentare

Hi, mein SQL ist etwas eingerostet und finde dazu nichts hilfreiches im Web. SQL-Server 2008 R2; Ist-Zustand: Datenbank-Spalte mit ...

Datenbanken
SQL-Befehl Tabelle doppelt mit Join?
gelöst Frage von killtecDatenbanken6 Kommentare

Hallo zusammen, habe folgende Konstruktion einer DB: 1. Tabelle mit Modellen (hier wird für mein Problem nur die ID ...

Datenbanken
SQL Server ein Befehl mit REPLACE und RTRIM
gelöst Frage von quan81Datenbanken3 Kommentare

Liebes Forum ich bin wieder mal auf eure Hilfe angewiesen! Ich muss im Microsoft SQL Server Manager eine Sicht ...

Entwicklung
SQL Update aus derselben Tabelle
gelöst Frage von winscheilEntwicklung1 Kommentar

Hallo, ich habe folgendes Problem. Ich habe eine Tabelle die folgendermaßen aufgebaut ist. Auftrag Rechnung Position Artikel Kosten NULL ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 23 StundenWindows 102 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet3 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 1 TagDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Windows Server
GPO nur für bestimmte Computer
Frage von Leo-leWindows Server13 Kommentare

Hallo Forum, gern würde ich ein Robocopy script per Bat an eine GPO hängen. Wichtig wäre aber dort der ...

Windows Server
KMS Facts for Client configuration
Frage von winlinWindows Server13 Kommentare

Hey Leute, wir haben in unserem Netz nun einen neuen KMS Server. Haben Bestands-VMs die noch nicht aktiviert sind. ...

Windows Tools
Software-Tool zum Entfernen von bösartigem Windows
Frage von emeriksWindows Tools11 Kommentare

Hi, siehe Betreff hat das jemals irgendjemand schonmal sinnvoll eingesetzt? (MRT) E.

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...