[Gambas-user] How to address more than one table in resultset

Ron ron at ...1740...
Thu Jan 29 12:31:48 CET 2009


Bit stuck.

In an attempt to optimize some db queries.

I changed this (gets all events first then check if enabled, then gets 
the trigger fields for that event etc):
----
  DIM rResult, rResultTrig, rResultAction AS Result

  rResult = Main.hDB.Exec("SELECT * FROM events")
  IF rResult THEN
    IF rResult.Count THEN
      FOR EACH rResult
        IF rResult!enabled THEN
          IF rResult!trigger1 THEN
            rResultTrig = Main.hDB.Exec("SELECT * FROM triggers WHERE id 
= &1 ", rResult!trigger1)
            IF rResultTrig THEN
              IF rResultTrig!param1 =
...
       NEXT
----

to this (gets selected events and triggers table/fields):
----
  DIM rResult AS Result

  rResult = Main.hDB.Exec("SELECT * FROM events, triggers WHERE 
events.trigger1 = triggers.id AND triggers.type = 3 AND events.enabled 
AND triggers.param1 = &1", iId)

  IF rResult THEN
    IF rResult.Count THEN

      FOR EACH rResult
...
      NEXT
----
In the sql query tool from database manager it returns exactly the 
correct records/fields etc

But how can I get the fields from the triggers table from this resultset?

I cannot do something like  rResult!triggers.id
Is this possible?

Thanks.

Regards,
Ron_2nd.




More information about the User mailing list