TweakPC

Zurück   Computer Hardware Forum - TweakPC > Games und Software > Programmiersprachen

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05.11.2009, 12:19   #1 (permalink)
Overclocker
 

Registriert seit: 10.08.2006
Beiträge: 398

k4Ku wird schon bald berühmt werden

Standard T-SQL & MS SQL Management Studio

Hallöchen ich würde gerne wissen ob sich jemand mit TSQL und am besten auch mit dem Management Studio auskennt. Ich habe da nämlich eine Aufgabe, und ich weis nicht wirklich wie sich das realisieren lässt. Bin noch sehr neu auf dem Gebiet SQL und Scripten.

Also falls sich jemand findet werd ich erklären um was es geht.

liebe Grüße
k4Ku ist offline   Mit Zitat antworten
Alt 05.11.2009, 21:02   #2 (permalink)
EoN
Kaffeejunkie
 
Benutzerbild von EoN
 

Registriert seit: 01.05.2002
Beiträge: 5.035

EoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer Anblick

Standard AW: T-SQL & MS SQL Management Studio

Ich kenn zwar T-SQL nicht aber wenn Du Dein Problem schreibst, welches sich mit normalem SQL beschäftigt, kann Dir bestimmt der eine oder andere im Forum hier helfen.
EoN ist offline   Mit Zitat antworten
Alt 06.11.2009, 07:34   #3 (permalink)
IT-Pro aus Leidenschaft
 
Benutzerbild von Joshua
 

Registriert seit: 28.10.2002
Beiträge: 1.463

Joshua ist jedem bekanntJoshua ist jedem bekanntJoshua ist jedem bekanntJoshua ist jedem bekanntJoshua ist jedem bekanntJoshua ist jedem bekannt

Standard AW: T-SQL & MS SQL Management Studio

*handheb*
Schiess mal los...

Cheers,
Joshua
Joshua ist offline   Mit Zitat antworten
Alt 06.11.2009, 16:43   #4 (permalink)
Overclocker
 

Registriert seit: 10.08.2006
Beiträge: 398

k4Ku wird schon bald berühmt werden

Standard AW: T-SQL & MS SQL Management Studio

Boah,...schwer in Worte zu fassen. Der Wert der in die Spalte [Monate_kum] der geschrieben wird sieht wie folgt aus. z.B. "Jan 2000_kum". In der WHERE-Funktion möchte ich festlegen das ein Teil der Zellen, von der Spalte [Monate_kum], im Beispiel "2000" immer gleich des Werts der Spalte [Jahre] aus der Tabelle [Jahre] ist.

Hoffe du verstehst das jetzt... wie gesagt, bin noch nicht sehr weit im Verständnis von SQL.

Zitat:
TRUNCATE TABLE Zeit_kum

INSERT INTO [Test_Tabelle].[dbo].[Zeit_kum] ([Jahre_kum], [Quartale], [Monate_kum], Monate)

SELECT Jahre + '_kum' , Quartale +' '+ Jahre , Monate, Monat_Basis + ' ' + Jahre

FROM [Monat_Basis] cross join [Jahre] cross join Quartale_Basis cross join [Monat+Jahr_Basis] cross join Zeit_kum
where Jahre = Jahre and SUBSTRING ([dbo].[Zeit_kum].[Monate_kum], 4, 4) = Jahre
GO
Wenn ich die Abfrage ausführe sind aber keine Zeilen betroffen.

Also wie kann ich jetzt richtig einen JOIN auf die Tabelle [Zeit_kum] machen?

liebe Grüße

Geändert von k4Ku (06.11.2009 um 17:24 Uhr)
k4Ku ist offline   Mit Zitat antworten
Alt 11.11.2009, 10:47   #5 (permalink)
EoN
Kaffeejunkie
 
Benutzerbild von EoN
 

Registriert seit: 01.05.2002
Beiträge: 5.035

EoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer Anblick

Standard AW: T-SQL & MS SQL Management Studio

Geben denn die einzelnen Teile Deiner Query die Richtigen Ergebnisse zurück?

Also gibt z.B.:
Code:
SELECT SUBSTRING ([dbo].[Zeit_kum].[Monate_kum], 4, 4)
FROM...
das Jahr richtig zurück?

Und gibt das SELECT die richtigen ungefilterten Zeilen zurück?

Was bringt Dir in der WHERE Klausel das Jahre = Jahre? 1 = 1 sollte ja immer wahr sein, dann kannst Du das ja eigentlich weglassen und nur den SUBSTRING auf die Gleichheit prüfen.
EoN ist offline   Mit Zitat antworten
Alt 13.11.2009, 10:18   #6 (permalink)
Overclocker
 

Registriert seit: 10.08.2006
Beiträge: 398

k4Ku wird schon bald berühmt werden

Standard AW: T-SQL & MS SQL Management Studio

Hey, sry das ich so lange nicht geantwortet hab. Das Problem hat sich erledigt. Hab die Idee alles in einer Tabelle anzuordnen verworfen. Mache das jetzt mit immer nur 2 Spalten je Tabelle. Also als Parent-Child-Import. Is glaube ich wesentlich einfach für mich.

Hab aber noch ne andere Frage. Kann ich mit ORDER BY auch nach einem bestimmten Wert aus einer Spalte ordnen? Den Wert würde ich mit SUBSTING, LEFT oder RIGHT abfragen.

Ich hänge mal ein Screen an der das verbildlichen soll. Und zwar möchte ich das in der Spalte "Halbjahr" die werte so geordnet werden, dass nach "2000_HJ1" "2000_HJ2" Folgt.

liebe Grüße
Angehängte Grafiken
Dateityp: jpg tabelle.JPG (19,5 KB, 4x aufgerufen)
k4Ku ist offline   Mit Zitat antworten
Alt 13.11.2009, 10:24   #7 (permalink)
Overclocker
 

Registriert seit: 10.08.2006
Beiträge: 398

k4Ku wird schon bald berühmt werden

Standard AW: T-SQL & MS SQL Management Studio

Ohman! Hat sich wieder erledigt. Tschuldigung.

Hab jetzt einfach mal ORDER BY LEFT(Halbjahre,4) angehängt. Und *bing* siehe da...
Angehängte Grafiken
Dateityp: jpg tabelle2.JPG (29,3 KB, 3x aufgerufen)
k4Ku ist offline   Mit Zitat antworten
Alt 13.11.2009, 11:22   #8 (permalink)
EoN
Kaffeejunkie
 
Benutzerbild von EoN
 

Registriert seit: 01.05.2002
Beiträge: 5.035

EoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer Anblick

Standard AW: T-SQL & MS SQL Management Studio

Wenn Du Dir ein bisschen Hintergrundwissen zum Zerlegen einer großen Tabelle in mehrere kleinere aneignen möchtest, kann ich folgenden Artikel aus Wikipedia über die Verschiedenen Normalformen der Datenbanken empfehlen:
http://de.wikipedia.org/wiki/Normalisierung_(Datenbank)

In der Praxis sollte hier die 3NF einen guten Weg darstellen.
EoN ist offline   Mit Zitat antworten
Alt 13.11.2009, 11:26   #9 (permalink)
Overclocker
 

Registriert seit: 10.08.2006
Beiträge: 398

k4Ku wird schon bald berühmt werden

Standard AW: T-SQL & MS SQL Management Studio

Ich schau da mal rein danke schön.

Findste das etwa nicht in Ordnung wie ich das jetzt gemacht habe? Hab jetzt eine Dimension in 3 views aufgeteilt und mim Cubeware Importer importiert, alles super gelaufen.

EDIT: Ich glaube Normalformen helfen mir hier nicht weiter, ich lege die Tabellen ja an, um sie später per Import in eine multidimensionale DB zu schreiben.

Geändert von k4Ku (13.11.2009 um 17:31 Uhr)
k4Ku ist offline   Mit Zitat antworten
Alt 13.11.2009, 17:30   #10 (permalink)
Overclocker
 

Registriert seit: 10.08.2006
Beiträge: 398

k4Ku wird schon bald berühmt werden

Standard AW: T-SQL & MS SQL Management Studio

Und weiter geht mit meinen Fragen. Dies mal zu einer FOR-Schleife. Unzwar möchte ich 2 FOR-Schleifen in eine Funktion einbauen, mit der eine temporäre Tabelle erstellt werden soll.

Zitat:
USE [Zeit]
GO
/****** Object: UserDefinedFunction [dbo].[Start_AWJ] Script Date: 11/13/2009 16:52:24 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE FUNCTION [dbo].[Start_AWJ_2]
(
-- Add the parameters for the function here
@startmonat smallint,
@endmonat smallint
)
RETURNS
@tmpAWJ_Monate TABLE
(
-- Add the column definitions for the TABLE variable here
AWJ_Monate smallint
)
AS
BEGIN
-- Fill the table variable with the rows for your result set
declare @schreibmonat smallint

set @startmonat = ( SELECT AWJ_Start FROM AWJ_Start )
set @endmonat = @startmonat -1

declare i smallint

FOR i IN @startmonat .. 12 LOOP

INSERT INTO
@tmpAWJ_Monate
SELECT
@schreibmonat as AWJ_Monate

set @schreibmonat=i

END LOOP;

RETURN
END
So sieht es bisher aus.

Was muss ich für die FOR-Schleife deklarieren? Ich möchte das die erste FOR-Schleife die Werte von der Variable "@startmonat", die ich aus einer Tabelle abgreife, bin zum Wert 12 die Spalte "AWJ_Monate" der temporären Tabelle schreibt. Und das die zweite FOR-Schleife die Werte von 1 bis zur Variable "@endmonat" ( = @startmonat -1) auch in die Spalte "AWJ_Monate" schreibt.

So. Ma sehn, war das alles? Wenn mir jemand helfen möchte, und noch mehr Infos braucht bitte melden.

Bis dann :winken:
k4Ku ist offline   Mit Zitat antworten
Alt 15.11.2009, 23:11   #11 (permalink)
Overclocker
 

Registriert seit: 10.08.2006
Beiträge: 398

k4Ku wird schon bald berühmt werden

Standard AW: T-SQL & MS SQL Management Studio

Hat sich wieder erledigt.
k4Ku ist offline   Mit Zitat antworten
Alt 26.11.2009, 11:43   #12 (permalink)
Overclocker
 

Registriert seit: 10.08.2006
Beiträge: 398

k4Ku wird schon bald berühmt werden

Standard AW: T-SQL & MS SQL Management Studio

Habe mal wieder ne Frage. Und zwar verstehe ich nicht wie das TSQL ordnet, bzw sortiert. Bei diesem Script tritt folgendes Phänomen auf.

Zitat:
SELECT 'AWJ_' + Jahre + '_' + AWJ_Monate + '_MK' as AWJ_Monate_MK


FROM vdimAWJ_Perioden_Perioden_Nr CROSS JOIN
vdimJahre

ORDER BY Jahre
Ich greife dabei auf die Tabelle AWJ_Monate zu die so aussieht:

http://www.tweakpc.de/forum/attachme...1&d=1259231973

Wenn ich jetzt wie im Script noch die Jahre dazu schmeiße, und nach den Jahren ordne, dann kommt aber das hier raus.

http://www.tweakpc.de/forum/attachme...1&d=1259231973

Das geht dann immer so weiter 1x richtig 1x komisch...immer abwechselnd. Warum? Wenn er es doch für das Jahr 2000 hin bekommt, warum nicht auch für das Jahr 2001?

liebe Grüße

:winken:
Angehängte Grafiken
Dateityp: jpg AWJ_Monate.JPG (7,6 KB, 20x aufgerufen)
Dateityp: jpg AWJ_Monate_MK.JPG (29,2 KB, 19x aufgerufen)
k4Ku ist offline   Mit Zitat antworten
Alt 27.11.2009, 11:15   #13 (permalink)
EoN
Kaffeejunkie
 
Benutzerbild von EoN
 

Registriert seit: 01.05.2002
Beiträge: 5.035

EoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer AnblickEoN ist ein wunderbarer Anblick

Standard AW: T-SQL & MS SQL Management Studio

Das ist ganz normal. Du sortierst hier nach Jahren und diese werden richtig sortiert. Alle anderen Werte werden nichtdeterministisch sortiert (oft nach der Reihenfolge des ursprünglichen Einfügens).
Wenn Du die Monate auch sortiert haben willst musst Du die OrderBy Klausel um die Monate erweitern.
EoN ist offline   Mit Zitat antworten
Alt 27.11.2009, 19:24   #14 (permalink)
Overclocker
 

Registriert seit: 10.08.2006
Beiträge: 398

k4Ku wird schon bald berühmt werden

Standard AW: T-SQL & MS SQL Management Studio

Die Reihenfolge mit dem 4. Monat beginnend ist schon korrekt. Das ist ein abweichendes Wirtschaftsjahr was hier abgebildet wird, und beginnt in diesem Falle im April.

Mir gehts darum das er für das 1. Jahr die korrekte Reihenfolge nimmt, und für das 2. in der umgekehrten Reihenfolge, usw., immer abwechselnd.

liebe Grüße

:winken:
k4Ku ist offline   Mit Zitat antworten
Antwort

Stichworte
management, sql, studio, tsql


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
HDD defekt + Memory Management? keeev CPUs und Mainboards allgemein 4 27.11.2013 14:34
Project Management Software icecube Windows & Programme 11 22.07.2006 18:50
Bluescreen: Memory Management Mogi Sonstige Hardware 2 07.01.2006 20:17
Health Management bei Fanless? Qndre AMD: CPUs und Mainboards 1 16.10.2004 03:03
Akustik-Management Gast RAM Arbeitsspeicher 1 22.11.2003 17:28


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 Uhr.






Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.
Impressum, Datenschutz Copyright © 1999-2015 TweakPC, Alle Rechte vorbehalten, all rights reserved