Seite 1 von 1

SQL 2 Table Question

Verfasst: Sa, 22. Jan 2022 15:38
von AUGE_OHR
hi,

ich kann doch 2 Table in einem SELECT nutzen wenn ich "A(lia)S" verwende

Code: Alles auswählen

"SELECT a.text1,b.__text1 FROM sqldata AS a, sqlindex AS b"
bei gleicher Anzahl von ROW(s) müsste es Synchron laufen :idea:

---

wenn ich nun PgDBE nutze mit "Index" auf "text1" dann sucht er doch nach "__text1"

Frage : wäre der "A(lia)S" dabei "egal" :?:

Re: SQL 2 Table Question

Verfasst: Sa, 22. Jan 2022 17:39
von georg
Hallo, Jimmy -


wenn Du zwei Tabellen, die einen "synchronen" Schlüssel haben, parallel einlesen willst, dann würde ich eher auf einen LEFT JOIN zugreifen.

Und sofern die Felder unterschiedlich benannt sind, braucht es auch keinen Alias.

Code: Alles auswählen

SELECT * FROM tablea LEFT JOIN tableb ON feldausA = feldausB

Re: SQL 2 Table Question

Verfasst: Sa, 22. Jan 2022 17:41
von Marcus Herz
Wenn du keine Bedingung zwischen den 2 Tabellen definierts, bekommst du ein karthesisches Ergebnis, jeder Satz von Tabelle a wird mit JEDEM Satz von Tabelle b verknüpft, also irre viele Sätze


PS; da heben sich 2 Antworten überschnitten

Re: SQL 2 Table Question

Verfasst: Sa, 22. Jan 2022 18:00
von Marcus Herz
du meinst wohl:

Code: Alles auswählen

"SELECT a.text1,b.__text1 FROM sqldata AS a, sqlindex AS b where a.text1 = b.__text1"

Re: SQL 2 Table Question

Verfasst: Sa, 22. Jan 2022 18:43
von AUGE_OHR
hi,

Danke für eure Antworten.

ich habe in beiden Table ein "internes" FIELD __Record eingefügt was ich nutzen kann

Code: Alles auswählen

"SELECT a.text1,b.__text1 FROM sqldata AS a, sqlindex AS b where a.text1 = b.__text1"
wird dann zu

Code: Alles auswählen

"SELECT a.text1,a__Record,b.__text1,b.__Record FROM sqldata AS a, sqlindex AS b where a.__Record = b.__Record"
die Grund Idee ist den "Overhead" in der "Data" Table, durch PgDBE, in eine "CDX" Table zu verlagern.
b.__text1 soll ala PgDBE den IndexKey aufnehmen.