[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