Zum Inhalt springen

streffin

Mitglieder
  • Gesamte Inhalte

    337
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von streffin

  1. Post mal die komplette Fehlermeldung, und das Query bitte. An und für sich musst du nur den Cursor auf deine Select anpassen. Gruß Sven
  2. füg 2 neue spalten in die tabelle ein. [locked_for] <- der user der den datensatz aktiv grade "hat" [locked_at <- timestamp wann der datensatz gelockt wurde. Bau im Frontend ein, dass ein User, der erste, den Datensatz "schreibgeschützt" hat, und bau auch ein, dass nach x minuten, er den Schreibschutz nicht mehr inne hat. Viel Spass sowas nachträglich einzubauen, aber in irgendeiner weise musst du sowas einbauen, weil du von der Datenbank an sich kein Event geschmissen bekommen kannst, wenn sich ein Datensatz geändert hat. D.h. in dem Moment wo 2 User gleichzeitig einen Datensatz laden und verändern können, hast du ein tierisches Problem, weil die 2 sich dann gegenseitig die Änderung überschreiben. Wie gesagt have fun, sowas nachträglich is hässlich und aufwendig. Gruß Sven
  3. Ganz ehrlich, nen MMO ohne PVP ? Excel bietet ungefär die gleiche Langzeitmotivation. Bissl überspitzt formuliert, aber mehr ist da ehrlich gesagt dann nicht da. Ewiges farmen, was man so oder so in jedem MMO zu genüge hat, ohne dass man ausser "Kuck ma mein tolles Schwer" irgendwas von hat. Sorry, wenn den Level Cap erreicht hast ist das Game tot. Ich sag fairer Weise dazu, dass ich in Eve Online recht aktiv war (WOW hab ich auch ma ne zeitlang gespielt, mit raids und was halt so zu gehört, aber das ging dann echt nich lange). Eve ist das PVP lastigste Game das ich kenne. Von daher bin ich nicht gerade objektiv was PVE vs PVP angeht. Aber, ich mein ganz ehrlich, ewig nur gegen vorhersehbare und auf die nächsten 10 Jahre, vorhersehbare KI kämpfen/spielen .... das wird recht schnell alt. Und nen MMO is imo zu teuer für "the 2nd job". Gruß Sven
  4. Kenntnisse erweitern, ja, das ist nie falsch. Aber ich möcht nochmal davor warnen, in irgendeiner Webklitsche als Azubi anzufangen. Weil von dem was ich im persöhnlichen Umfeld gesehen hab, fährst du damit vom Fachwissen was du nach der Ausbildung hast, voll an die Wand. Ist allerdings auch nur eine Einzelmeinung, das "Richtig" Monopol kann und will ich hier nicht für mich beanspruchen. Gruß Sven
  5. Ok ne Stunde hats nich gedauert ..... hier mal bissl code dass dir zeigen sollte wie du das hinbekommst. IF OBJECT_ID('tempdb.dbo.#temp') > 0 BEGIN DROP TABLE #temp END create table #test (bezeichnung NVARCHAR(255), menge INT) INSERT INTO #test VALUES ('apfel', 3), ('birne', 2) DECLARE @bezeichnung NVARCHAR(255) DECLARE @anzahl INT CREATE TABLE #temp (id int not null, bezeichnung NVARCHAR(255)) DECLARE curs CURSOR FOR SELECT bezeichnung, menge FROM #test OPEN curs FETCH NEXT FROM curs INTO @bezeichnung, @anzahl WHILE @@FETCH_STATUS <> -1 BEGIN WHILE @anzahl > 0 BEGIN INSERT INTO #temp VALUES (@anzahl, @bezeichnung) set @anzahl = @anzahl -1 END FETCH NEXT FROM curs INTO @bezeichnung, @anzahl END SELECT * FROM #temp (die temp table is bei mir halt dbo, weil auf der kiste bin ich dbo, das is was das muss so nich zwangsläufig bei dir au so sein, aber das is au nur copy & paste von dem was ich mir eben ausn fingern gesaugt hab) Des Ding dürft netma übermäsig unperformant sein. ergebnis vom select * : ID Bezeichung 3 apfel 2 apfel 1 apfel 2 birne 1 birne Ich denk auf der Grundlage dürfstest keine grossen Probleme haben, dein Query zu bauen. Gruß Sven //Edit : Ganz wichtig, und von mir vergessen : CLOSE curs DEALLOCATE curs Ganz wichtig. Btw, als freiwillige Spende nehme ich gerne 1 2 Flaschen Bier an, Adresse gäbs per pm ;P
  6. Mhm .... schön aussehen wirds nich ..... Ich meld mich in ner Stunde nochma, ich bastel da mal n bissl, des intressiert mich jetzt wie ma dat umsetzen könnte
  7. Post mal bitte wie deine Tabellen zusammenhängen, wie sie verknüpft sind, und die Bedeutung der Felder die du da Benutzt,und auf denen du Joinst. Ich blick durch das ding beim besten Willen nicht durch, und das machts doch etwas schwierig. Soweit ich verstanden habe, brauchst du sowas hier Select Sitename , Count(distinct rechner_old_Version.ID) [Rechner gesuchten Versionen] , count(distinct rechner_alle.id) [Alle Rechner], ( 1.0 * Count(distinct rechner_old_Version.ID) / count(distinct rechner_alle.id)) * 100 [% der Rechner mit gesuchter Version vs Alle Rechner der Site] FROM Site as s LEFT JOIN Rechner as rechner_old_Version on s.ID =rechner_old_version.SiteID AND Rechner.Version in ('1','2','3','4') LEFT JOIN Rechner as rechner_alle on s.id = rechner_alle.siteID WHERE a=b GROUP BY Sitename Das war jetzt mal eher allgemein gehalten. Du musst halt durch die gegend joinen das du an deine Site rankommst, und dann an die Rechner in der Site. An und für sich ändert sich am Prinzip aber nichts. Soweit jedenfalls mein verständnis von dem was du als Ergebniss haben möchtest. 1. die Site, 2. die Anzahl Rechner mit bestimmten Versionen 3. die Anzahl aller Rechner 4. % Gruß Sven
  8. Ich will niemandem zu nahe treten. Meine Frage wäre, hast du die Mathematik, die du implementieren sollst wirklich verstanden ? Wirklich verstanden. Weil das ist das wichtige hinter der Sache. Ist ne ehrliche Frage, nimms nich persöhnlich, aber wenn die Mathe Sache nich durch is, dann wär das der Part an dem man ansetzen müsste wenn man was hilfreiches posten will. Gruß Sven
  9. Einfach ein auf ein Subquery in dem du nicht gruppierst, dann hast dein Wert. Btw, das hässliche filtern sollte sich auch eleganter lösen lassen. Unter Tsql z.b. EPOBranchNode.NodeName in ( 'a', 'b', 'c' . . .
  10. Nach dem wie ich es les, suchst du nach dem fileOpenDialog. Der gibt dir ein Exolorer Fenster, mit dem eine Datei ausgewählt werden kann. Was du dann mit dem File Objekt machst ..... das ist dann dir überlassen.
  11. Diplomatisch gesprochen : Wenn du darauf hinweist, dass DEINER Meinung nach, "etwas" eine suboptimale Lösung darstellt, oder dass DEINER Erfahrung nach, etwas so ist wie beschrieben, dann ergibt das ein anders Bild. Und bei Gott das war jetzt bitte kein Flame. Das war Textinterpretation. Das war auch nicht böse gemeint. Was ich von MEINER Seite aus zu dem ot post hinzufügen wollte wäre aber .... Ich hab einige Semester an der Uni hinter mir. Aus finanziellen, und primär familiärn, sagen wir Schwierigkeiten, hab ich das wunderbar in den Sand gesetzt. Jetzt hab ich die FIAE Ausbildung gemacht, und fang in einigen Monaten das Fernstudium an. (jeden nur erdenklichen Härtefallantrag bekomm ich durch was meinen Lebenslauf angeht, sagen wirs mal so) Heist das, dass ich jetzt 5 Jahre später nicht fähig bin abstrakt zu denken ? Heist das, dass ich dass ich in meinen Kernbereichen nicht fähig bin ? Heist das dass ich nicht Kreise um dich dreh wenns um mein Fachgebiet geht ? Ich würd schätzen, dass du zurecht weit mehr verdienst. Ich gehe davon aus, dass du Großflächig mehr Fachwissen hast, als ich. Aber das heist noch lange nicht, dass ich mit dem popeligen IHK Schein weniger wert bin. Uni ist nicht das Allheilmittel. Schon gar nicht, wenn man nicht die persöhnliche Situation kennt. Und jetzt mal sorry, nimmste den 5+ Jahre Berufserfahrung in dem Gebiet das zu besetzen ist Fachinformatiker, oder nimmste den frisch von Uni un keine Ahnung von Berufsalltag Bachelor ?
  12. Ich habe nicht gesagt, und es liegt mir auch fern, zu sagen, das ein Php Programmierer nicht programmieren kann / können sollte. Was ich sagen wollte, und eventuell falsch ausgedrückt habe, ist, dass dinge wie "Was ist ein Datentyp", "Was ist eine Referenz", "Was ist ein Objekt" in Php nicht unbedingt zwingende Kenntenisse sind. Ja wenn man weis was Programmieren heist, dass hat ein Php Programmierer kein Problem damit, eine "Hochsprache", sorry des is jetzt halt mal nen Fachbegriff, zu erlernen. Und damit meine ich innerhalb von 2 3 Wochen. Es ging mir nicht darum, dass ich Php schlecht mache. Es ging mir darum, dass wenn ich in eine Ausbildung mit dem Mindset reingeh, ach bissl Scripting, das is nich so kompliziert, das macht mir Spass.... Java oder C++ ne lass ma, das is mir zu kompliziert.... Dass de DANN sehr wahrscheinlich auch genau das an Betrieb finden wirst. Und das ist imo dann 2 3 Jahre verschwendete Zeit. Wirklich, es geht mir nicht darum, PHP oder JS coder schlecht zu machen. Ich kenn aber nicht einen einzigen Web Developer, der nicht auch in .Net oder Jave wirklich gut programmieren kann. Diejenigen die das nicht können, sind meiner Ansicht nach keine Programmierer. (Nach 2 3 Wochen Einarbeitungszeit)
  13. Kuck her. die Ausbildung zum FIAE, steht und fällt mit deinem Betrieb. Ich persöhnlich halte die Berufsschule in der Ausbildung für den besten Witz, den ich je erleben "durfte". (Ich spreche hier nur aus eigener Erfahrung, ich kann das nicht allgemein gültig sagen, wobei wenn du das Forum ein wenig durchstöberst du viele viele Posts finden wirst, die ähnliches aussagen.) Das wichtige an der Ausbildung ist, dass du was lernst. Und wenn du mit dieser "ich mag webdesign, ich find das toll, hochsprachen sin mir zu kompliziert die machen mir kein Spass, später vielleicht" Haltung da reingehst, dann wirst du SEHR wahrscheinlich nen Ausblidungsplatz finden. Einen Ausbildungsplatz der dir so wenig bringt, dass du die 2-3 Jahre weggeschmissen hast im Endeffekt. Programmieren heist nicht, dass man kein PHP, JS, AJAX, ASP, RUBY etc macht.... aber programmieren heist, dass du Java, .NET, C++ etc hinbekommst. Syntax ist in 2 Wochen drin, das wichtige ist, dass du es verstanden hast wie das geht, wie es funktioniert. Und sorry an die Php'ler, aber wenn mir einer sagt, dass er programmieren kann, und nie was anderes als php und html gesehn hat, dann kann ich mir das lachen nicht verkneifen. Gruß Sven Ps. Groß-Kleinschreibung is um die Uhrzeit irrelevant.
  14. Sag welches DBMS, dann wird dir geholfen. Ohne DBMS werden dir wild funktionen an den Kopp geschmissen die eventuell funktionieren könnten. Ohne gute Frage keine gute Antwort.
  15. Spricht was dagegen, dass du dir nen SQL query bastelst, und das dann über ein OleDbCommand ausführst ? create table blablub (col1 int , col2 nvarchar(50),..... ) ?
  16. My 2 cents : Dont learn a programming language, learn to program. Ob das jetzt Java Script oder C# ist. Wenn du mal wirklich begriffen hast, was divide et impera bedeutet, dann kannst du dir hinterher die Richtung die du einschlagen willst aussuchen. Von 2 Monaten Interesse in Html und Php, da geb ich dir mein Wort drauf, weiste das noch nicht. Und du weist bei Gott auch noch nicht, ob du ewig Spass an Webdesign hast. Imo, mach ne anständige Ausbildung, bei nem Betrieb der dich ausbildet, und auch fordert. Lern wie man programmiert, und nicht frickelt. Und dann nach 2 - 3 Jahren wennd mit der Ausbildung durch bist, haste nen weit weit weit besseres Bild. Wennd Programmierer werden willst, und kein Designer, was ich so verstanden hab, mach ne Ausbildung zum Programmierer, nicht zum Webdesigner. Soll heißen, such dir die Firma entsprechend aus. Wennd 3 Jahre lang mit Html spielst, dann kannste hinterher nicht programmieren.
  17. Für den letzten Post : Danke. Ich hasse Leute die Threads starten und dann mit "nevermind i fixed it" beenden, ohne den Leuten die über Google den Thread gefunden ham mit der gefunden Lösung zu helfen
  18. Wie gesagt, lass die Aggregatsfunktion erstmal weg, und kuck dir an, was du an Daten zurück bekommst. Dann hast du ein besseres Bild warum das nicht so tut wie es soll. Und LEFT JOINS tun so weh nicht. Gruß Sven
  19. Solange du nicht dazu sagst welches DBMS dahinter hängt kann dir da keiner helfen wirklich helfen. Es sollte aber recht ungewöhnlich sein, das eine Datenbank keine Funktion zum runden anbietet. Gruß Sven
  20. Im Bezug auf das 1. Query, das 2. sieht so grausam aus, das würd ich gleich wieder vergessen Mach doch mal aus deinen Joins LEFT JOINS. Ich könnt mir vorstellen, dass nicht in jedem raum Zwangsläufig ein Monititor steht, normal sitzt man ja nicht vor dem Rack wenn man mit dem Ding spielt. Ansonsten, lass bei deiner Abfrage die Aggregatsfunktion erstmal weg, dann siehst du was du in welchem Join zurück bekommst. (Left Join wär da wichtig, sonst bekommste im Zweifel gar nix zurück). Ich geh davon aus, dass irgendwo keine Grafikkarte oder kein Monitor dran hängt, und dir dass dann durch die Inner Joins das Query zerhaut. Gruß Sven
  21. ohne die Tabellen zu kennen kann man da als aussenstehender im Endeffekt nur raten. 1. Versuch : SUM(a.Preis+b.Preis+c.Preis+d.Preis+e.Preis+f.Preis+g .Preis) setz mal als erstes jeden Preis in ein isnull(x.Preis,0) Wenn einer der Preise NULL sein sollte gibt das als Ergebnis NULL, weil NULL + irgendwas = NULL. Gruß Sven
  22. Was nicht heist dass du das bei der Steuererklärung nicht trozdem versuchen kannst. Ein befreundeter Steuerberater sagt dazu immer gerne "vielleicht hast du Glück, und die müssen auch immer was zum streichen haben, sonst wird dehnen mulmig" Fest damit rechnen solltest du allerdings nicht.
  23. Ich denk es ist eher die Regel als die Ausnahme, dass du an der Berufsschule das Niveau mit dem Spaten suchen musst. Und das ziemlich unabhänig ob du Realschule oder Gymi hast.
  24. streffin

    MSSQL Hilfe

    das wird nicht funktionieren. Zitat : "Wenn expression1 in expression2 nicht gefunden wird, gibt CHARINDEX 0 zurück." Coalesce gibt dir aber die erste Expresion die nicht NULL ist. Daher hast du hinterher ein LEFT(string,0) was in dem Update dann sehr ungut kommt wenn man das ausführt, und das geuschte Zeichen im String nicht vorkommt. Mein Vorschlag zu der Sache wäre :
  25. Das is recht einfach gemacht, declare @max_id int select @max_id = max(id) from tabelle UPDATE a SET id = @max_id + b.ROW_NUM FROM tabelle a INNER JOIN ( SELECT ROW_NUMBER() OVER(ORDER BY id) row_num, name FROM tabelle ) as b ON a.name = b.name WHERE a.id IS NULL der Join sollte normal auf dem primary Key gemacht werden, wenn du da keinen hast, dann ist das recht schlecht. den Join mit dem Subquery würd ich in dem Fall auf allen Feldern der Tabelle machen, ausser der ID, NULL = NULL kannste dir da spaaren. Das Problem ist nämlich, wenn du in der Tabelle z.b. 2 mal den Namen 'Klaus' ohne ID stehen hast, bekommen beide Datensätze die selbe id. da würd ich zur sicherheit hinterher SELECT COUNT(*) [anzahl], id FROM tabelle GROUP BY id ORDER BY [anzahl] desc ausführen, damit du sicher bist dass du keine Dubletten drin hast. Gruß Sven

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...