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

SQL Abfrage für Etiketten, Extra Zeilen bei Zahl größer 1

Frage Entwicklung Datenbanken

Mitglied: FlorianW

FlorianW (Level 1) - Jetzt verbinden

19.09.2013 um 15:10 Uhr, 2921 Aufrufe, 4 Kommentare, 1 Danke

Hallo,

bei folgender Tabelle:

Artikelnr/Stückzahl/Beschreibung

möchte ich eine SQL Abfrage wobei jede Position so oft kommt wie oft die Stückzahl vorhanden ist.
Grundproblem ist zB die Etikettierung von Artikeln.

Wenn ich den Artikel 3311 5x im lager habe benötige ich 5 Etiketten, er steht aber nur 1x in der Datenbank...

Danke schon jetzt für die Lösung,
es dürfte glaub ich relativ einfach sein, aber ich steh momentan auf der Leitung!
Mitglied: colinardo
19.09.2013, aktualisiert um 19:00 Uhr
Hallo FlorianW,
mit deiner SQL-Abfrage bekommst du doch die Anzahl die zu drucken ist, schon im Feld "Stückzahl" mitgeliefert. Diese kannst du dann benutzen um entsprechende Anzahl an Etiketten zu drucken(FOR-Schleife). Denke das ist eher eine Frage wie du die Daten weiterverarbeitest. Dazu hast du uns hier aber zu wenig Informationen geliefert Programmiersprache, etc.

Grüße Uwe
Bitte warten ..
Mitglied: it-frosch
19.09.2013 um 16:09 Uhr
Hallo Florian,

du könntest es so lösen:

Mit Hilfe einer procedure liest du die Anzahl und die Artikelnummer aus der Artikeltabelle aus und fügt in einer for Schleife so
oft die Artikelnr in eine Hilfstabelle ein wie die Anzahl des Artikels Schleifen zulässt.
Dann verwendest du die Hilfstabelle um deine Etiketten zu drucken.

grüße vom it-frosch
Bitte warten ..
Mitglied: Biber
19.09.2013, aktualisiert 20.09.2013
Moin FlorianW,

je nach vorhandenem Datenbank-System geht es auch ohne temporäre Hilfstabelle bzw. mit einem SQL-Statement.

Aber dazu müsste wir wirklich minimal wissen, ob du mit Oracle oder mySQL oder gar mit etwas wie Access unterwegs bist.

Und wenn es unter ungünstigen Umständen ohne Procedure/ohne Programmlogik gemacht werden muss und nur ein Schmalspur-SQL-Umfang zur Verfügung steht, dann brauchst du eine Hilfstabelle.

Da du ja einen Feldnamen "Stückzahl" angegeben hast, gehe ich mal vom worst case M$-ACCESS aus.

Also dann:
  • Lege dir eine Hilfstabelle namens "Hilfstab" mit einem einzigen Feld"Dummyzahl", Typ Zahl an.
  • Fülle 10 Datensätze mit den Zahlen 0 bis 9

Danach kannst du hiermit bis zu 99 Etiketten (Stückzahl=99) drucken bzw diese Anzahl 99 Datensätze dafür erzeugen
01.
SELECT a.ArtikelNr, a.Beschreibung 
02.
  , a.Stückzahl 
03.
  ,  Str( h.Anzahl+1) & " von " & str(a.Stückzahl) as Lfdnr 
04.
FROM Artikel a,  
05.
    (select Zehner+Einer as Anzahl   
06.
    from ( 
07.
    Select    hE.Dummyzahl as Einer 
08.
         , 10* hZ.Dummyzahl as Zehner  
09.
     from Hilfstab hE, Hilfstab hZ)  
10.
   ) h 
11.
Where a.Stückzahl >= h.Anzahl+1 
12.
order by a.ArtikelNr, h.Anzahl
Ausgabe:
ArtikelNr Beschreibung Stückzahl Lfdnr 
2213	Artikel3314	4	 1 von  4 
2213	Artikel3314	4	 2 von  4 
2213	Artikel3314	4	 3 von  4 
2213	Artikel3314	4	 4 von  4 
3311	Artikel 3311	3	 1 von  3 
3311	Artikel 3311	3	 2 von  3 
3311	Artikel 3311	3	 3 von  3 
4711	Artikel 4711	17	 1 von  17 
4711	Artikel 4711	17	 2 von  17 
4711	Artikel 4711	17	 3 von  17 
4711	Artikel 4711	17	 4 von  17 
4711	Artikel 4711	17	 5 von  17 
4711	Artikel 4711	17	 6 von  17 
4711	Artikel 4711	17	 7 von  17 
4711	Artikel 4711	17	 8 von  17 
4711	Artikel 4711	17	 9 von  17 
4711	Artikel 4711	17	 10 von  17 
4711	Artikel 4711	17	 11 von  17 
4711	Artikel 4711	17	 12 von  17 
4711	Artikel 4711	17	 13 von  17 
4711	Artikel 4711	17	 14 von  17 
4711	Artikel 4711	17	 15 von  17 
4711	Artikel 4711	17	 16 von  17 
4711	Artikel 4711	17	 17 von  17
Lässt sich mit der vorhandenen Tabelle Hilfstab auch auf 999 oder 9999999 Etiketten erweitern ohne viel Aufwand.

Grüße
Biber
Bitte warten ..
Mitglied: FlorianW
20.09.2013 um 07:24 Uhr
Danke Biber genau so etwas hab ich gesucht,
hab ich gleich in meine Access-DB reingemacht und funktioniert schon!

Danke biber, Danke aber auch dem Rest!
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Datenbanken
SUM oder AVG in SQL Abfrage dauert viel zu lange warum? (5)

Frage von samet22 zum Thema Datenbanken ...

Datenbanken
gelöst SQL-Abfrage mit MAX() (9)

Frage von FrAmEr zum Thema Datenbanken ...

Datenbanken
gelöst Schleifen in SQL-Abfrage bei 2 Tabellen (2)

Frage von Aximand zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...