SQL-Befehl : Direktzugriff auf Element einer Tabelle möglich ?

bernhart

Benutzer
Beiträge
5
Hallo allerseits,

1)
Man hat ein Feld (array) von integer-Zahlen. An das Feldende soll die Summe dieser Zahlen anfügen werden. Falls diese Summe schon in einer Zelle des Feldes vorkommt, soll sie nicht angefügt werden.
Pseudocode:
sum = 0;
for(i=0, i<feld.length;i++){
sum = sum + feld
feld.appendIfNotContain(sum);

2) Dies will ich nun mit einer Datenbank machen.
Die Tabelle dieser DB besteht nur aus einer Spalte.
In der Tabelle werden Integer-Zahlen gespeichert.
Jetzt will ich dort das Gleiche machen wie bei dem Feld oben.
Frage1:
Kann man auf die Tabelle durch einen Direktzugriff zugreifen wie z.B:
tabelle[spalte][zeile] = ....
oder wie wird das in SQL gemacht ?

Frage2:
Durch welchen SQL-Befehl kann man an das Ende eine Zahl anfügen, aber nur unter der Voraussetzung, daß diese nicht schon in der Tabelle vorkommt ?

mfg
Bh
 
Werbung:
Das klingt alles recht nach Bullshit. Mal davon abgesehen, daß MySQL eh keine Arrays kennt: Du hast ein Array

1.

Code:
test=# select array[1,1,2];
  array  
---------
 {1,1,2}
(1 row)

Ist die 2 nun schon das Ergebniss von 1+1, oder fehlt hier die 4?
Array-Funktionen und Operatoren für PostgreSQL sind hier erklärt: PostgreSQL: Documentation: 9.6: Array Functions and Operators

2:
Zugriff auf Zeilen einer Tabelle bekommst Du durch die Where-Condition. Die Summe der Elemente einer Spalte bekommst Du via sum(). Das ist übrigens eine Aggregatsfunktion.

Ich denke allerdings, daß Du das Prinziep von Datenbanken bis jetzt, ähm, nur zu einem geringen Teil verstanden hast.
 
Danke für das Feedback,
1)
leider ist mir nicht klar, was du mit deinem Quellcode beabsichtigst:
Code:
test=# select array[1,1,2];
  array
---------
{1,1,2}
(1 row)

2)
Array-Funktionen und Operatoren für PostgreSQL sind hier erklärt: [URL='https://www.postgresql.org/docs/9.6/static/functions-array.html']PostgreSQL: Documentation: 9.6: Array Functions and Operators[/URL]
Gibt es diese Array-Funktionen und Operatoren auch für MySQL und MS-Access ?

3)
Durch welchen SQL-Befehl kann man einen Datensatz (bei mir besteht der Datensatz nur aus einer Zahl bzw. zusätzlich noch einem eindeutigen Schlüssel zur eindeutigen Identifizierung um für mich intern einen Arrayindex zu simulieren) in eine Tabelle einfügen, aber nur unter der Voraussetzung, daß diese Zahl nicht schon in der Tabelle vorkommt ?
Gibt es dazu einen SQL-Befehl ?

mfg
Bh
 
Werbung:
Zurück
Oben