Databáze > Firebird a Interbase

IBExpert - pár otázok

(1/1)

Stanislav Hruška:
DB FireBird, IBE všetko v Query builder.


--- Kód: ---  Text1 :=
  'SELECT Flats.FKEntry, Landlords.IDLandlords, Service_Flat.IsService,'+
    ' IDService_Flat'+
  ' FROM ((Services'+
    ' INNER JOIN Service_Flat ON Services.IDServices = Service_Flat.FKService)'+
    ' INNER JOIN Flats ON Service_Flat.FKFlat = Flats.IDFlats)'+
    ' INNER JOIN Landlords ON Flats.IDFlats = Landlords.FKFlat'+
  ' WHERE Flats.FKSVB = '+ IDSVBs +' and IDServices = '+ IDServices;

  IBQ(
  'SELECT DISTINCT D2.ID1, D2.Caption1, D2.ID2, D2.Caption2, D2.ID3, D2.Caption3,'+
    ' D1.IsService, D1.IDService_Flat, D2.Street, D2.Nmbr, IDFlats'+
  ' FROM ('+ Text2 +') AS D2'+
    ' LEFT JOIN ('+ Text1 +') AS D1'+
      ' ON (D2.IDLandlords = D1.IDLandlords) AND (D2.FKEntry = D1.FKEntry)'+
  ' ORDER BY D2.Caption1, D2.Caption2, D2.Caption3');

--- Konec kódu ---

Pod D funkčný kód. Vytvorené v MS Access. IBExpert nie je spokojný (v Query builder):

- nepozná AS. To ma prekvapuje. Ale nevadí to

- Text1. "FROM ((Services" - vadia mu tieto zátvorky. Tvrdil, že neexistuje tabuľka Flats. Vyriešil som to presuntím zátvoriek do jednotlivých JOIN- ov. Tak to on generuje.

- FROM ('+ Text2 +') AS D2. Tu mám dva problémy, ktoré potrebujem vyriešiť.

1 - namiesto Text2 by som mal rád odkaz na SQL v IBE. Kvôli prehľadnosti pri ladení. Neviem ako na to.
2 - "D2.Caption1" nepozná D2. To je vážny problém. Nechce sa mi veriť, že by to tak nemalo fungovať.

Stanislav Hruška:
Všetky problémy boli v syntaxe. Pre mňa dosť skryté.

Ale rád by som vedel ako riešiť ten vnorený "dotaz" v Query builder. Napadlo ma, žeby to mohlo byť pomocou wiev. Je to správna úvaha?

Navigace

[0] Seznam témat

Přejít na plnou verzi