Jump to content

Pathomorph

Members
  • Gesamte Inhalte

    75
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von Pathomorph

  1. Hi tutter Nachdem die "X"-Schleife das erste mal durchläuft, ist X=16. Wenn @y = 2 ist, gehts nicht mehr weiter, weil @x schin 16 ist... Lösung: Bevor die x-Schleife startet, die Variabel reseten ... SET @x = 1 WHILE @x <=16 ...
  2. Das liegt an unterschiedlichen Basis-Daten. Bei VB6, VBA, Excel ist der Tag 0 der 30.12.1899 Beim SQL-Server ist der Tag 0 der 01.01.1900 In Excel-VBA: ?cdate(1) = 31.12.1899
  3. Hallo zusammen Habe kleine Verständnis-Probleme mit dem SS2014 mit den Data Tools: Momentane Infrastruktur: - SQL 2012 + Data Tools - Visual Studio 2013 SP3 Mit VS habe ein Datenbank-Projekt erstellt und zusätzlich ein Cube. Test-umgebung: - SQL 2014 + Data Tools - BI (SSDTBI_x86_DEU.exe) - Visual Studio 2013 SP3 Da SSDT nur als 32bit existiert, musste ich bei der Installation als "extra Instanz" installieren, statt "vorhandene Instanz ergänzen". Wenn ich nun mein Projekt in VS2013 öffne, wird angezeigt, dass das Projekt nicht kompatibel ist... Was ist eigentlich der richtige Nachfolger der "Data Tools" vom SQL-2012? Wo liegt mein Denkfehler? Gruß
  4. Was ist hiermit? SELECT TOP 1 Zähler FROM Test_Table ORDER BY CASE WHEN DATEDIFF(DAY,Datum,'01.11.2014') < 0 THEN DATEDIFF(DAY,Datum,'01.11.2014')*(-1) ELSE DATEDIFF(DAY,Datum,'01.11.2014') END
  5. http://lmgtfy.com/?q=tsql+split+string+by+delimiter
  6. Nein. Sicher. Das war nur eine Anmerkung.. Wichtiger ist der Punkt 1. Du willst in die Variable @V_OPP_NAME EINEN Wert speichert. Deine Abfrage liefert jedoch mehrere. Das geht also nicht... Daher die Anregung, das Konstrukt zu ändern, indem du die die Tabelle "USER_SIEBEL" mit dbo.S_OPTY verlinkst..
  7. Hi 1. Wenn du schon ein Cursor benutzen willst, warum verknüpfst du nicht gleich die Tabelle "USER_SIEBEL" mit dbo.S_OPTY? Wenn du Datensätze zurück bekommst, musst du nicht noch die Anzahl abfragen... 2. Wieso verlinkst du so viele Tabelle, die du eigentlich nicht brauchst? So z.B. würde es auch tun?! Oder übersehe ich da etwas? ET @V_ANZAHL = ( SELECT COUNT(*) FROM dbo.S_OPTY T1 LEFT OUTER JOIN dbo.S_USER T13 ON T11.PR_EMP_ID = T13.PAR_ROW_ID WHERE T1.STATUS_CD in ( 'Pending' , 'Accepted') --AND T13.LOGIN = @V_USER AND (T13.LOGIN in (@V_USER) ) --OR (T6.LOGIN in (@V_USER)) ) AND T1.SUM_EFFECTIVE_DT <= GETDATE() AND T1.SUM_EFFECTIVE_DT >= '20100601' )
  8. Vielleicht hilft das weiter: http://www.insidesql.org/blogs/frankkalis/2004/07/16/dynamisches-sql-fluch-und-segen
  9. Pathomorph

    SQL Abfragen

    Richtig, Cyberquest! ;-)
  10. Pathomorph

    SQL Abfragen

    Erstmal musst du überlegen, was die Verbindung zwischen den 2 Tabellen ist. In der Tabelle "president" ist ein Feld "state_id_born". Dort ist sicher die id aus der Tabelle "state" gespeichert, damit Daten nicht redundant gespeichert werden. Genau diese Verbindung wird mit "ON" beschrieben: SELECT blabla FROM president INNER JOIN state ON president.state_id_born = state.id Dann kommt die WHERE-Klausel, um die Datenmenge einzuschränken bzw. zu filtern: ... WHERE president.birth_year <= 1900 jetzt ist die Frage nach der Anzahl dieser Staaten: Wie Cyberquest schon sagt: COUNT! --> SELECT Count(*) FROM president INNER JOIN state ON president.state_id_born = state.id WHERE president.birth_year <= 1900 Kleiner Tip: SQL-Statements lieber strukturieren, damit du später noch durchblickst: SELECT Count(*) FROM president INNER JOIN state ON president.state_id_born = state.id WHERE president.birth_year <= 1900
  11. Pathomorph

    SQL Abfragen

    SELECT min(votes) FROM election WHERE winner_loser_indic='W' AND election_year BETWEEN 1900 AND 1999
  12. Pathomorph

    SQL Abfragen

    SELECT min(votes) FROM election WHERE winner_loser_indic=1 AND election_year BETWEEN 1900 AND 1999 vorausgesetzt "winner_loser_indic" ist 1 wenn der Typ ein Gewinner ist und 0 wenn Verlierer..
  13. Pathomorph

    SQL Abfragen

    Hi Erstmal wäre wichtig zu wissen, wie deine Tabelle aussieht und in welchem Feld das Datum gespeichert wird und wie... Grundsätzlich: SELECT * FROM table_name WHERE [DatumsFeld] BETWEEN ... Wenn das Datum-Feld vom Typ datetime ist: SELECT * FROM table_name WHERE DATEPART(year,[DatumsFeld]) BETWEEN 1900 AND 1999
  14. Jou... Er beschäftigt alle und dann meldet er sich nicht mal...
  15. Ohne Cursor hätte ich keine Idee, wie man fehlende Messwerte in die vorhanden Datenmenge interpolatorisch integrieren kann. Es müssen neue Datensätze "generiert" werden... Archimos tantz auch auf andere Hochzeiten... http://www.ms-office-forum.net/forum/showthread.php?p=1625529
  16. Hi Ukulele Deine Lösung interpoliert nicht.. ;-)
  17. Hi Hab dir mal die Funktion gebastelt. Diese funktioniert allerdings mit der "echten" linearen Interpolation nach Newton, d.h. sie funktioniert auch mit größeren Lücken in deiner Zeitskala. 1. Du ersetzt in der Funktion den Text "WindTable" mit dem Namen DEINER Tabelle. Den Namen der Funktion selbst kannst so lassen oder auch nicht. 2. Ausführen. Damit hast du eine Funktion, die dir eine Tabelle zurück liefert. 3. Anwendung: SELECT * FROM get_WindTable() Dann hast du, was du willst CREATE FUNCTION [dbo].[get_WindTable]() RETURNS @RawTable TABLE ( TIM datetime, VAL decimal(8,3) ) AS BEGIN DECLARE @BaseTIM datetime DECLARE @NextTIM datetime DECLARE @BaseVAL decimal(8,3) DECLARE @NextVAL decimal(8,3) DECLARE @DiffCounter int DECLARE WindCursor CURSOR FOR SELECT Base.TIM,Base.VAL, LEAD(Base.TIM,1,0) OVER (ORDER BY Base.TIM) NextTIM, LEAD(Base.VAL,1,0) OVER (ORDER BY Base.TIM) NextVAL FROM (SELECT TOP 100 PERCENT CONVERT(datetime,CONVERT(char(16),TIM,121)) TIM, CONVERT(decimal(8,3),AVG(VAL)) VAL FROM WindTable GROUP BY CONVERT(datetime,CONVERT(char(16),TIM,121)) ORDER BY CONVERT(datetime,CONVERT(char(16),TIM,121))) Base OPEN WindCursor FETCH NEXT FROM WindCursor INTO @BaseTIM,@BaseVAL,@NextTIM,@NextVAL WHILE @@FETCH_STATUS=0 BEGIN INSERT INTO @RawTable (TIM,VAL) VALUES (@BaseTIM, @BaseVAL) SET @DiffCounter = 1 WHILE @DiffCounter < DATEDIFF(minute,@BaseTIM,@NextTIM) BEGIN INSERT INTO @RawTable ( TIM, VAL ) VALUES ( DATEADD(minute,@DiffCounter,@BaseTIM), @BaseVAL+(@NextVAL-@BaseVAL)*@DiffCounter/DATEDIFF(minute,@BaseTIM,@NextTIM) ) SET @DiffCounter = @DiffCounter + 1 END FETCH NEXT FROM WindCursor INTO @BaseTIM,@BaseVAL,@NextTIM,@NextVAL END CLOSE WindCursor DEALLOCATE WindCursor RETURN END
  18. Hi Archimos Wie groß können die Minuten-Lücken sein? Wenn du in einem "Minutenblock" keine Messwerte hast... Hast du wenigstens im nächsten Minutenblock mind. ein Messwert? Oder können die Lücken größer sein? Gruß
  19. SELECT * FROM [DeineTabelle] WHERE POSITION IS NULL
  20. Eine Reparatur brachte nichts. Habe das vmware-Image neu hochgezogen. Ich glaube, ich hatte vorher zu viel deinstalliert. Mich wundert es ohnehin, dass Microsoft noch so viel altes Zeug mitinstalliert. Habe "nur" Office 2013, VS 2013 und SQL-Server 2014. Mehr nicht. Unter "Programme und Features" habe ich dann alles Mögliche, von SQL 2008 +über 2012 b bis 2014 und bei VS auch so Zeug von 2010, 2013 und 2013... Gruß und Danke
  21. Habe ich jetzt gemacht. Die Projekt-Vorlage ist denoch nicht da. Bist zur Deinstallation des SQL 2012 und Neuistallation des SQL 2104 war alles noch da, daher die Frage, zu welcher Komponente das gehört. Noch komischer: Ich habe den SQL2014 deinstalliert und den 2012er wieder installiert. Die Vorlage fehlt immer noch...
  22. Hi zusammen Nach der Installation des SS2014 Enterprise und zusätzliche Installation der SSDT-BI fehlt in VS2013 ein Template "SQL Server--> SQL-Server Datenbankprojekt" (s. Anhang) Mein vorhandenes Datenbank-Projekt kann nicht geöffnet werden. Wo bekommt man diese Komponente her? Gruß
  23. Versuch mal über die IP-Adresse
  24. Hallo zusammen Ich haben 2 Tabellen: 1. Arbeitsverträge 2. Zuordnungen zu Gruppen Beispiel Arbeitsverträge: MitarbeiterId Von Bis Wochenstunden 1 01.01.2014 31.03.2014 20 1 01.04.2014 40 In der zweiter Tabelle stehen die Zuordnungen zu einer oder mehreren Gruppen: MitarbeiterID GruppenID Von Bis Wochenstunden 1 1 01.01.2014 31.01.2014 40 --> hier ist er mit 20 Stunden mehr zugeordnet, als er beschäftigt ist 1 1 01.02.2014 31.03.2014 20 --> korrekt 1 2 15.02.2014 15.03.2014 20 --> hier ist er mit 20 Stunden mehr zugeordnet, als er beschäftigt ist 1 1 01.05.2014 31.08.2014 30 --> Es gibt eine Lücke vom 31.03. bis 30.04. und es fehlen 10 Stunden. Ziel: Eine oder mehrere Abfrage zu gestalten, die fehlerhafte Zuordnungen anzuzeigen: - Stundendifferenzen zw. Vertrag und Zuordnung - Lücken in der Zuordnung - Überlappungen Brauch mal eine "geniale" Idee. Ziel ist eine Abfrage, keine Funktion und ohne Cursor-Zeugs.. Gruß
  25. Hi Wie soll ich mir deine Tabelle vorstellen? Wie funktioniert der vorhandene Counter? Was soll das Ganze überhaupt?
×
×
  • Neu erstellen...