Zum Inhalt springen

Murcks

Mitglieder
  • Gesamte Inhalte

    38
  • Benutzer seit

  • Letzter Besuch

  1. Also MS SQL Server 2005, T-SQL. Kartesisches Produkt hab ich auch schon probiert, aber ich krieg's so auch net hin. Das Ergebnis soll folgendermaßen aussehen: Jedes Element aus ABCD wird in die neue Tabele geschrieben, somit haben wir nach der Prozedur (4 *24 =) 96 Datensätze in der Tabelle stehen. Jeder Datensatz eines "Kombinationsblocks" bekommt ne nicht indizierte ID um Kombiblöcke wieder eindeutig identifizieren zu können. Bsp: NEUE TABELLE ID ELEMENT 1 A 1 B 1 C 1 D 2 B 2 A 2 D 2 C 3 C 3 B 3 A 3 D usw. Ist das verständlich? :confused:
  2. Hallo! Ich habe folgendes Problem zu lösen und komme auf keinen grünen Zweig: Ich habe n Datensätze aus einer Tabelle. Meinetwegen: A, B, C und D Und ich versuche einen Algorithmus zu entwickeln der mir alle (4! =) 24 Kombinationsmöglichkeiten berechnet, also: ABCD BADC CDAB usw. Leider fehlt mir der Ansatz. Hat einer von euch so etwas schonmal gemacht? Bitte um Hilfe.
  3. Hallo! Ich habe eine SP geschrieben, die einige Abfragen enthält. Wenn aber eine bestimmte Abfrage zutrifft soll die SP abbrechen. Welchen Befehl verwendet man dafür?
  4. Ja, ich bin grad am rumprobieren. Die Daten kommen aus einer Tabelle.
  5. Hmm, anscheinend nicht... Dann muss ich eben den komplizierteren Weg gehen!
  6. Hallo! Stellt euch folgendes vor: Ihr habt in einem Access-Formular eine Listbox in der Datensätze angezeigt werden. Ihr habt neben der Box zwei Buttons (Rauf / Runter). Mit diesen Buttons soll es möglich sein den/die jeweils markierten Satz/Sätze pro Klick eine Position nach oben oder unten zu verschieben. Frage: Gibt es eine Funktion dafür?
  7. Murcks

    FORMAT in SQL

    @ Goos Danke! Das funktioniert! [FONT="Courier New"]DECLARE @Message AS VARCHAR(100) DECLARE @Value AS DECIMAL(10, 4) SET @Value = 0.25 SET @Message = 'Auf alle Artikel ' + CONVERT(VARCHAR(10), FLOOR(@Value * 100)) + '% Rabatt!' PRINT @Message[/FONT]
  8. Murcks

    FORMAT in SQL

    Hätte klappen können mit ROUND(), aber die Zahl soll nicht gerundet sondern einfach nur auf eine Nachkommastelle gekürzt werden. Wir reden hier übrigens vom SQL Server 2005.
  9. Murcks

    FORMAT in SQL

    OK, wenn's keine explizite Funktion dazu gibt, dann werd ich das benutzen: [FONT="Courier New"][COLOR="Blue"]DECLARE[/COLOR] @Value [COLOR="blue"]AS DECIMAL[/COLOR] (10, 4) [COLOR="blue"]SET[/COLOR] @Value = 1.2000 [COLOR="blue"]PRINT[/COLOR] [COLOR="Red"]'Die Zahl (auf eine Stelle hinterm Komma): '[/COLOR] + [COLOR="Magenta"]STUFF[/COLOR]([COLOR="magenta"]CONVERT[/COLOR]( [COLOR="blue"]VARCHAR[/COLOR](10) , @Value), [COLOR="Magenta"]CHARINDEX[/COLOR]('.', @Value) + 2, 3, [COLOR="Red"]''[/COLOR])[/FONT] Naja, hatte gedacht, dass es vielleicht weniger "kompliziert" geht, trotzdem Danke!
  10. Hallo! Ich mal wieder. Ich möchte gerne eine Kommazahl (z.B. 1,2000) mit nur einer Kommastelle (1,2) ausgeben. Gibt es da (wie in VB) einen "Format"-Befehl? Finde dazu leider nix.
  11. Murcks

    Eval() in SQL

    Dann wäre alles geklärt! Vielen Dank!
  12. Murcks

    Eval() in SQL

    Also: SET könnte man überall mit SELECT austauschen, aber nicht umgekehrt (z.B. wenn man Werte aus einer Tabelle holt). SELECT @var = 1 ist äquivalent zu SET @var = 1
  13. Murcks

    Eval() in SQL

    Danke euch, aber funktioniert jetzt so: [FONT="Courier New"]EXEC ('Select ' + @strFormel) EXEC ('Insert Into [I]Zieltabelle[/I] ([I]Ergebnis[/I]) Values (' + @strFormel + ')')[/FONT] Wenn ich den Wert dann wieder brauche: Einfach 'n Select-Statement und den Wert wieder aus der Tabelle holen. So isset. Danke für eure Hilfe! (Kleine Frage noch am Rande: Was genau ist der Unterschied zwischen SET und SELECT? Möchte jetzt keinen neuen Thread dafür aufmachen.)
  14. Murcks

    Eval() in SQL

    OK, hab das Problem gelöst bekommen. In der Formel war am Ende ein '/ 1000'. Das habe ich dann mittels REPLACE-Funktion durch '* 0.001' ersetzt und schon wurde das richtige Ergebnis (mit Komma) ausgegeben. Danke für die Hilfe bis hier hin! So sieht's nun aus: DECLARE @strFormel AS VARCHAR(500) SELECT @strFormel = '( 2 * 1273 + 2 * 3456 ) / 1000' SET @strFormel = REPLACE(@strFormel, '/ 1000', '* 0.001') EXEC ('SELECT ' + @strFormel + 'AS Ergebnis') Habe jetzt schon mehrfach auf verschiedene Art und Weisen ausprobiert dieses Ergebnis in einer Variable zwischenzuspeichern, weil ich sie später noch verwenden muss. Sämtliche Versuche sind leider fehl geschlagen. Einer vielleicht 'n Tipp? :confused:

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...