AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Inner join

Ein Thema von Luckner · begonnen am 25. Feb 2014 · letzter Beitrag vom 27. Feb 2014
Antwort Antwort
Seite 1 von 2  1 2      
Luckner

Registriert seit: 28. Nov 2006
Ort: Berlin
418 Beiträge
 
Delphi 7 Enterprise
 
#1

Inner join

  Alt 25. Feb 2014, 14:59
Datenbank: Firebird • Version: 2.1 • Zugriff über: Dataset
Hallo,
habe in einer Datenbank 3 Tabellen. Eine ARTIKEL-, eine Auftrag- und eine PLANNUNG-Tabelle. In der Artikeltabelle gibt es ID, Artikelnr, Artikelanzahl usw. In der Auftrag-Tabelle gibt es ein ID_Artikel (identisch mit ID aus Artikel) und andere Felder. In der Plannungs-Tabelle ist eine Auswahl aus Auftrag (select Rows), wobei Pro Artikel ein Auftrag. Auch hier gibt es ein Feld ID_Artikel = ID (aus Artikel). Für die Darstellung der Plannungstabelle benutze ich ein dbgrid.
Jetzt folgende Fragen:

Wie kann ich die Tabelle Plannung mit Artikel verbinden (inner join?) damit ich in der Plannung auch das Feld ARTIKELANZAHL aus ARTIKEL sehen kann, wobei dieses Feld nur bei Aufruf dieses DBGrids aktualisiert werden müsste. In der Plannung selbst braucht das Feld Artikelanzahl nicht gespeichert werden.

Danke, Luckner
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

AW: Inner join

  Alt 25. Feb 2014, 15:06
Ich habe das jetzt 4 mal gelesen, aber immer noch nicht verstanden. Kannst Du die Struktur mal kurz skizzieren (mit ein paar Beispieldaten) und das gewünschte Abfrageergebnis dazu posten?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Luckner

Registriert seit: 28. Nov 2006
Ort: Berlin
418 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Inner join

  Alt 25. Feb 2014, 15:40
Ich versuche es.

Artikel-Tabelle: ID ART_NR ART_NAME ART_ANZAHL Auftrag-Tabelle: ID ART_ID ART_NR ART_NAME BESTELLNR BESTELLANZ usw.
1 6353 Blauer Artikel 12000 1 1 6353 Blauer Artikel 7477838 5000
2 7676 Roter Artikel 0 2 3 5677 gelber Artikel 8547488 1000
3 5677 gelber Artikel 1000

Übergebe aus der Auftragstabelle über selectRows eine gewisse Anzahl der datensätze aus Auftrag an die Plannungstabelle. Das funktioniert schon.

Ergebnis Plannungs-Tabelle: ID ART_NR ART_ID ART_NAME PROD_DATUM usw.
1 6353 1 Blauer Artikel 29.02.14
2 5677 3 gelber Artikel 03.03.14

Zugriff auf die Plannungstabelle über DBGrid. Brauche ich die ART_Anzahl aus Artikel-Tabelle in diesem dbgrid. In der Plannungstabelle gibt es dieses Feld bisher nicht. Kann ich diese Art_Anzahl im dbgrid anzeigen (über eine join-Verknüpfung) ohne es in der Plannungstabelle einzubauen? Echt schwierig zu erklären.
  Mit Zitat antworten Zitat
Luckner

Registriert seit: 28. Nov 2006
Ort: Berlin
418 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Inner join

  Alt 25. Feb 2014, 15:42
Ah Schrott. Bei abspeichern ändert sich die formatierung
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#5

AW: Inner join

  Alt 25. Feb 2014, 15:44
So etwas?
SQL-Code:
SELECT
  P.ID, P.Art_Nr, P.Art_Name, A.Anzahl
FROM
  Plannung P
INNER JOIN
  Artikel A ON A.Art_Nr = P.Art_Nr
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Inner join

  Alt 25. Feb 2014, 15:46
Ah Schrott. Bei abspeichern ändert sich die formatierung
Dafür gibt es ja auch die Code-Tags ...

Auftrag-Tabelle:

Code:
ID ART_ID ART_NR ART_NAME BESTELLNR BESTELLANZ
1 6353 Blauer Artikel 12000 1 
1 6353 Blauer Artikel 7477838 5000
2 7676 Roter Artikel 0 2 
3 5677 gelber Artikel 8547488 1000 
3 5677 gelber Artikel 1000
Man kann sogar eine Tabelle hier einfügen

Zitat:
Ergebnis Plannungs-Tabelle:
IDART_NRART_IDART_NAMEPROD_DATUM
163531Blauer Artikel29.02.14
256773gelber Artikel03.03.14
Code:
Ergebnis Plannungs-Tabelle:
[Table]ID|ART_NR|ART_ID|ART_NAME|PROD_DATUM
1|6353|1|Blauer Artikel|29.02.14
2|5677|3|gelber Artikel|03.03.14[/Table]
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (25. Feb 2014 um 15:52 Uhr)
  Mit Zitat antworten Zitat
Luckner

Registriert seit: 28. Nov 2006
Ort: Berlin
418 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: Inner join

  Alt 25. Feb 2014, 15:53
Hallo DeddyH,

so in etwa hatte ich das schon gemacht und zwar in der select-eigeschaft von meinem dataset. Der dataseteditor zeigt mir die Ergebnisfelder auch an, aber mein Feldeditor findet das Feld aus Artikel nicht.
  Mit Zitat antworten Zitat
Luckner

Registriert seit: 28. Nov 2006
Ort: Berlin
418 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: Inner join

  Alt 25. Feb 2014, 15:55
Hallo Sir Rufo,

werde mir die tags mal reinziehen. Ja, so wird es vernünftig dargestellt. Danke
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Inner join

  Alt 25. Feb 2014, 15:56
Hallo Sir Rufo,

werde mir die tags mal reinziehen. Ja, so wird es vernünftig dargestellt. Danke
Es steht dir frei deinen Beitrag zu bearbeiten ...
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Inner join

  Alt 25. Feb 2014, 16:05
so in etwa hatte ich das schon gemacht und zwar in der select-eigeschaft von meinem dataset. Der dataseteditor zeigt mir die Ergebnisfelder auch an, aber mein Feldeditor findet das Feld aus Artikel nicht.
Eigentlich dachte ich, ich hätte verstanden worauf Du hinaus willst, aber jetzt kommen mir doch Zweifel...

Wenn das Dataset, das Ergebnis eines selects ist, dann hast Du keine Verbindung mehr zu den ursprünglichen Tabellen. Da kannst Du nicht das "Feld aus Artikel" in irgendeiner Art und Weise bearbeiten.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:38 Uhr.
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