Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Mehere Tabellen und Join - Schreibschutz? (https://www.delphipraxis.net/103884-mehere-tabellen-und-join-schreibschutz.html)

Stern 23. Nov 2007 14:03

Datenbank: InterBase • Zugriff über: BDE

Mehere Tabellen und Join - Schreibschutz?
 
Hallo zusammen,

ich habe mal wieder eine kleine Frage bezüglich der Arbeit mit mehreren Tabellen. Ich habe eine Query-Komponente, eine DB-Komponente und die DataSource. Nun habe ich die Verbindung zur DB hergestellt und trage im SQL-Feld der Query ein:

SQL-Code:
select * from tabelle1,tabelle2;
Ich habe Request Live auf true und möchte nun die query.active auf true setzen. Nun bekomme ich die Fehlermeldung, dass die Tabelle schreibgeschützt wäre... :roll:
Ich kann sie aber über die Konsole nach Lust und Laune verändern. Ich häng mal wieder und hab ein riesen Brett vor dem Kopf. Kann mir das mal jemand wegnehmen?

Liebe Grüße
Steffi

mkinzler 23. Nov 2007 14:05

Re: Mehere Tabellen und Join - Schreibschutz?
 
Deine Abfrage (Cross-Join) erzeugt auch einen nich updatebare Datenmenge

RavenIV 23. Nov 2007 14:14

Re: Mehere Tabellen und Join - Schreibschutz?
 
Du schreibst besser:

SQL-Code:
Select * From tabelle1, tabelle2
Where tabelle1.irgendwas = tabelle2.wasanderes
Also meistens wird ein where benötigt.

mkinzler 23. Nov 2007 14:15

Re: Mehere Tabellen und Join - Schreibschutz?
 
Oder einen expliziten Join

RavenIV 23. Nov 2007 14:17

Re: Mehere Tabellen und Join - Schreibschutz?
 
Was willst Du eigentlich mit dem SQL-Statement erreichen?

Daten aus beiden Tabellen holen?
Irgendwas von tabelle1 in tabelle2 schreiben?
oder was?

Stern 23. Nov 2007 14:19

Re: Mehere Tabellen und Join - Schreibschutz?
 
Meine Güte,
ich habe noch nie ein so gut betreutes Forum erlebt wie hier... :shock: Wahnsinn...

Zu meiner Frage: mit dem hier:
SQL-Code:
Select * From tabelle1, tabelle2
Where tabelle1.irgendwas = tabelle2.wasanderes
mache ich doch dann einen Vergleich zweier werte, oder???

Wie kann ich denn einfach den Inhalt beider Tabellen bekommen?
Sorry, ich weiß das solche Fragen unglaublich nerven...und ich weiß auch was das bedeutet: SQL-Manual anschauen... ;-)

Liebe Grüße
Steffi

RavenIV 23. Nov 2007 14:22

Re: Mehere Tabellen und Join - Schreibschutz?
 
Zitat:

Zitat von Stern
Wie kann ich denn einfach den Inhalt beider Tabellen bekommen?

Da wirst Du wohl an einem Join nicht vorbei kommen.

Relicted 23. Nov 2007 14:25

Re: Mehere Tabellen und Join - Schreibschutz?
 
die abfrage sollte das kartesische Produkt beider tabellen liefern... also theoretisch möglich die abfrage... der anwendungsfall dass das kartesische produkt gebraucht wird ist aus meiner sicht eher selten... eigentlich will man ja meist nur mehrere tabellen miteinander verknüpfen... wie wärs denn mit nem join?

SQL-Code:
select *
from tabelle1 t1
inner join tabelle2 t2 on t1.id = t2.tabelle1_id
gruß
reli

edit: wenn du uns vielleicht tabellenstruktur und gewünschtes ergebnis aufzeigst können wir dir hier sicher auch etwas besser helfen

mkinzler 23. Nov 2007 14:28

Re: Mehere Tabellen und Join - Schreibschutz?
 
Die beiden Tabellen stehen ja irgendwie in Relation

Also es besteht eine Master/Detail-Beziehung.

SQL-Code:
select
    <Feldliste Tab1>, <Feldliste Tab2>
from
    <Tab1> t1 join <Tab2> t2 on t2.<FK auf t1> = t1.<PK>;

Stern 23. Nov 2007 14:44

Re: Mehere Tabellen und Join - Schreibschutz?
 
Also entweder ich bin wirklich zu doof dafür, oder ich muss mich glaube ich nochmal eingehender mit den Grundlagen beschäftigen...
Ich habe folgendes Statement eingesetzt:

SQL-Code:
select
  KNR,
  KVORNAME,   
  KNACHNAME,
  KADRESSE,   
  KPLZ,
  KWOHNORT,
  RNUM,
  RBETRAG,
  RSTATUS,
  RDAT,
  RKUNDE
  select Kunden join Rechnungen on Rechnungen.RKUNDE = Kunden.Knr
Aber es besteht nun immer noch ein schreibschutz... :roll: In Tabelle Kunden ist KNR = PK und in Tabelle Rechnungen ist RNUM = PK und RKUNDE= FK...
Liebe Grüße
Steffi


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:36 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