Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   array (https://www.delphipraxis.net/153141-array.html)

arcon 22. Jul 2010 15:14

Datenbank: mssql • Version: 2005 • Zugriff über: ...

array
 
hallo miteinander,

ich habe eine tabelle .. welche nur foreign keys besitzt ..
in der einen spalte habe ich die parametergruppe und in der anderen die benutzergruppe

in der parametergruppe sowie in der benutzergruppe sind nur zahlen enthalten .. diese können mehrmals vorkommen ..

nun habe ich das problem dass ich mit einer where anweisung .. die anzahl der " 1 " aus der parametergruppe auslesen möchte .. und dies in ein array schreiben möchte .. jedoch habe ich keinen dunst .. wie ich ein array in ms sql einrichte ..

kann mir da jemand helfen ?!?

meine tabelle schaut so aus, falls sich niemand was drunter vorstellen kann..

parametergruppe | benutzergruppe
1 | 1
1 | 3
1 | 4
2 | 2
2 | 3

also müsste die anzahl der "1" aus der parametergruppe 3 sein .. damit will ich nun ein array programmieren, in das ich die anzahl der zahl"1" eintrage .. und anschließend wünsche ich es mir .. dass in das array noch die zugehörige benutzergruppe eingetragen wird ..
also 1 > 1
1 > 3
1 > 4

danke für eure hilfe !

DeddyH 22. Jul 2010 15:21

AW: array
 
Die Anzahl kannst Du per SQL mit COUNT und Gruppierung abfragen. Und die Zuordnungen stehen doch so bereits in der Tabelle, ich habe keine Ahnung, was Du mit einem "Array" willst :gruebel:.

arcon 22. Jul 2010 15:34

AW: array
 
hallo deddyH,

ich möchte das ergebnis .. also sprich

1 > 1
1 > 3
1 > 4

in einer anderen tabelle weiter verwenden ..

ich möchte es sozusagen so machen .. dass er mir dann für die 1 den datensatz raussucht .. für die 3 den datensatz raussucht und für die 4 den datensatz raussucht .. deswegen wäre ein array nicht schlecht ..

DeddyH 22. Jul 2010 15:36

AW: array
 
Meinst Du nun die Daten, die über den Fremdschlüssel referenziert sind?

jfheins 22. Jul 2010 15:40

AW: array
 
Für das eine:
Code:
select count(*) from tabelle where parametergruppe=1
Für das andere:
Code:
select * from tabelle where parametergruppe=1

arcon 22. Jul 2010 15:48

AW: array
 
ich will es mal ausführlich erklären

ich habe eine tabelle die heißt benutzer

diese sieht wie folgt aus

user_no | description | mail_add
1 | müller | müller@delphi.com
2 | schmidt | schmidt@delphi.com
3 | düsseldorf | düsseldorf@delphi.com
4 | deddyH | deddyH@delphi.com

dann hab ich die tabelle param_group_user

die sieht wie folgt aus
param_group_no | user_no
1 | 1
1 | 3
1 | 4
2 | 2
2 | 3

ich habe nun mit dem befehl
SELECT COUNT(*) FROM Param_Group_User WHERE Param_group_No = 1 die anzahl herausgefunden ..
in unserem fall 3 ..

nun möchte ich die user_no die der 1 zugeordnet ist .. weiter verwenden ..
demzufolge möchte ich aus der tabelle benutzer die user_no inkl. dem zugehörigen datensatz auslesen

also heißt das ..

am ende soll das rauskommen

1 | müller | müller@delphi.com
3 | düsseldorf | düsseldorf@delphi.com
4 | deddyH | deddyH@delphi.com

ich weiß bloß nicht, wie ich die brücke dahin schlag ..

hast du ne idee ?

DeddyH 22. Jul 2010 15:52

AW: array
 
SQL-Code:
SELECT
  B.user_no, B.description, B.mail_add
FROM
  param_group_user P
JOIN
  benutzer B ON B.user_no = P.user_no
WHERE
  P.param_group_no = 1

arcon 22. Jul 2010 15:59

AW: array
 
für was steht das " Benutzer B " nach dem Join ?

danke erstmal für deine hilfe !

jfheins 22. Jul 2010 16:01

AW: array
 
Zitat:

Zitat von arcon (Beitrag 1036893)
für was steht das " Benutzer B " nach dem Join ?

Das ist ein join mit der Tabelle Benutzer, und es wird ein Alias B festgelegt - mit dem direkt danach die Felder identifiziert werden.

Genau das Gleiche wie
Zitat:

param_group_user P
Du kannst auch ein as dazwischenschreiben wenn du das schöner findest ;)

DeddyH 22. Jul 2010 16:28

AW: array
 
Oder in der Langform ohne Aliase:
SQL-Code:
SELECT
  benutzer.user_no, benutzer.description, benutzer.mail_add
FROM
  param_group_user
JOIN
  benutzer ON benutzer.user_no = param_group_user.user_no
WHERE
  param_group_user.param_group_no = 1


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:33 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz