Autor Téma: IBExpert - pár otázok  (Přečteno 1087 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 2850
  • Karma: 26
    • Verze Delphi: XE7 professional
IBExpert - pár otázok
« kdy: 22-11-2012, 14:05:56 »
DB FireBird, IBE všetko v Query builder.

Kód: [Vybrat]
  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');

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ť.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 2850
  • Karma: 26
    • Verze Delphi: XE7 professional
Re:IBExpert - pár otázok
« Odpověď #1 kdy: 23-11-2012, 08:52:07 »
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?
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Upozornění: do tohoto tématu bylo naposledy přispěno před 120 dny.
Zvažte prosím založení nového tématu.

Jméno: E-mail:
Ověření:
Křestní jméno zpěváka Gotta: