Welcome
Guest
, you are in:
<root>
•
Anmelden
CP Wiki
Navigation
¶
CP Solutions
Startseite
domizil+
Startseite
Administration
Administration
Neue Seite
Alle Seiten
Kategorien
Navigations-Pfade
Datei Manager
Neuer Benutzer
Suche im wiki
»
Zurück
Multidimensionale Arrays in T-SQL faken
Modified on 19/06/2009 10:03
by Manuel Siebert
Categorized as
Nicht kategorisiert
((([image| |http://www.cp-austria.at/website/DesktopModules/Wiki/images/Home.gif|MainPage] » [MainPage|Startseite] » [netFramePlattform|netFrame als Plattform Menü] » [TippsundTricks|Tipps und Tricks] » Multidimensionale Arrays in T-SQL faken | {searchbox} [Search.aspx?FullText=1|Erweiterte Suche]))) {br} Folgen Sie dem Code und Sie werden sehen wie einfach es ist: {br} {br} <code sql>/* create the basic table structures needed */ CREATE TABLE [X_DIMENSION] ( [LOC] [int] NULL , [X_ELEMENT] [varchar] (2000) NULL ) CREATE TABLE [Y_DIMENSION] ( [LOC] [int] NULL, [Y_ELEMENT [varchar] (2000) NULL ) CREATE TABLE [X_Y_INDEX] ( X_LOC [int] NULL, Y_LOC [int] NULL ) /* Now we create some data to place into the tables, indexed */ INSERT X_Y_INDEX (X_LOC, Y_LOC) SELECT 5,7 INSERT X_DIMENSION (LOC,X_DIMENSION) SELECT 5,'DATA IN ELEMENT 5 ' INSERT Y_DIMENSION (LOC,Y_DIMENSION) SELECT 7,'REMAINING DATA FOR ELEMENT 5,7' /* now that we have some data present, we can call it up by referencing the contents of the X_Y_INDEX table just by setting a variable to the elements we want to retrieve! */ DECLARE @X INT, @Y INT SET @X = 5 -- or whatever method of loading you want SET @Y = 7 SELECT A.X_DIMENSION + B.Y_DIMENSION FROM X_DIMENSION A, Y_DIMENSION B WHERE A.LOC = @X AND B.LOC = @Y /* The Query returns the concatenated value! */ /* DATA IN ELEMENT 5, REMAINING DATA IN ELEMENT 7 */</code> {br} Versuchen Sie mehrere Werte in verschiedene Elemente von X und Y zu laden und Sie werden sie jedes mal durch die Angabe der Koordinaten zurückbekommen.{br} {br} Eine andere Methode die auch sehr leicht ist, ist es eine Tabelle mit zwei Indexen zu erstellen:{br} {br} <code sql>CREATE TABLE [XY_DIMENSIONAL_DATA] ( [LOC_X] [int] NULL, [LOC_Y] [int] NULL, [DATA_ELEMENT [varchar] (2000) NULL ) /* Again, we load data using any method we want, as long as we keep the X-Y Coordinates handled */ INSERT XY_DIMENSIONAL_DATA (X_LOC, Y_LOC, DATA_ELEMENT) SELECT 5,7,'DATA IN ELEMENT 5,7 ) DECLARE @X INT, @Y INT SET @X = 5 -- or whatever method of loading you want SET @Y = 7 SELECT DATA_ELEMENT FROM XY_DIMENSIONAL_DATA WHERE LOC_X = @X AND LOC_Y = @Y /* AND OF COURSE, THE RETURNED VALUE IS */ /* DATA IN ELEMENT 5,7 */</code> {br} {br} {TOP}
ScrewTurn Wiki
version 3.0.1.400. Some of the icons created by
FamFamFam
.