[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: jak wyciągnąć info z 2 tabel?
Można to zrobić nastepująco:
---------------------------------------------------------------------
DEF QUERY q FOR Item,SysText.
OPEN QUERY q FOR EACH Item NO-LOCK,
FIRST SysText OUTER-JOIN
WHERE SysText.TableName =
'Item' AND
SysText.SysTextKey = Item.ItemKey NO-LOCK.
GET FIRST q.
REPEAT WHILE NOT QUERY-OFF-END('q'):
/* Tutaj dostepny jest zapis Item */
IF AVAIL(SysText) THEN /* Tutaj dostepny jest zapis SysText
*/.
GET NEXT q.
END /* WHILE */.
CLOSE QUERY q.
--------------------------------------------------------------------
Oczywiści będzie to sprawnie działać, jeśli tablica SysText ma ineks,
którego klucz składa się z pól:
1) SysText.TableName
2) SysText.SysTextKey
Bez takiego indeksu i dużej ilości zapisów tablicy 'Item' moze to działać
długo.
Gdyby była relacja nie 1:0/1 ale 1:N, to nalży zastapić:
FIRST SysText --> EACH SysText
Henryk
Jusza
mailto:henju@pg.gda.pl
-------------------------------------------------
Ośrodek Informatyczny Politechniki Gdańskiej
Pracownia Rozwoju Oprogramowania
tel (058) 347-28-01
fax (058) 347-24-63