Databáze > Obecné

IBExprt - rozseká funkciu na drobné

(1/2) > >>

Stanislav Hruška:
Prečo mi, presnejšie ako tomu zabrániť

--- Kód: SQL ---    SELECT Flats.Idflats, Flats.Hotarea, Flats.Allarea, Flats.Fuoarea,       Persones.Person1,       CASE WHEN (Persones.Person2 IS NULL) THEN 0 ELSE Persones.Person2 END AS Person2,       CASE WHEN (Persones.Person3 IS NULL) THEN 0 ELSE Persones.Person3 END AS Person3,       CASE WHEN (Persones.Person4 IS NULL) THEN 0 ELSE Persones.Person4 END AS Person4     FROM Landlords       INNER JOIN Flats ON (Landlords.Fkflat = Flats.Idflats)       LEFT OUTER JOIN Persones ON (Landlords.Idlandlords = Persones.Fklandlords)     WHERE Landlords.Fksvb = 4     TO príkaz CASE rozseká na drobné?     SELECT    Flats.Idflats,    Flats.Hotarea,    Flats.Allarea,    Flats.Fuoarea,    Persones.Person1,    CASE WHEN,    (Persones.Person2 IS NULL, ) THEN,    0 ELSE,    Persones.Person2 END,    AS Person2,    CASE WHEN,    (Persones.Person3 IS NULL, ) THEN,    0 ELSE,    Persones.Person3 END,    AS Person3,    CASE WHEN,    (Persones.Person4 IS NULL, ) THEN,    0 ELSE,    Persones.Person4 END,    AS Person4FROM Persones   RIGHT OUTER JOIN Landlords ON (Persones.Fklandlords = Landlords.Idlandlords)   INNER JOIN Flats ON (Landlords.Fkflat = Flats.Idflats)WHERE   (      (Landlords.Fksvb = 4)   ) Predpokladám, že sa to týka aj všetkých ostatných funkcií

Mi.Chal.:
nepochopil jsem, na co se ptáš. Ale místo "case when neco is null then 0 else neco end" můžeš napsat "coalesce(neco, 0)", případně existují různé db-specific funkce. Třeba na mssql isnull, na mysql ifnull. Coalesce by ale mělo fungovat snad všude.

Stanislav Hruška:

*
--- Citace ---nepochopil jsem, na co se ptáš.
--- Citace ---[/q][/q]
--- Konce citace ---

--- Konce citace ---

* Na toto:
--- Kód: SQL ---CASE WHEN,    (Persones.Person2 IS NULL, ) THEN,    0 ELSE,    Persones.Person2 END,    AS Person2
* všimni si tie nasekané čiarky

pf1957:

--- Citace: Stanislav Hruška  04-03-2013, 11:13:49 ---všimni si tie nasekané čiarky

--- Konce citace ---
Ja te otazce taky nerozumim: co s tim IBE delas? Jedine, co my dava smysl je, ze pokousis Format Query Text.
Ja to nikdy k nicemu nepouzil, az ted na zkousku. Sice mi to case rozdeli tak, ze kazda vetev je odsazena samotnem radku, ale zadne carky tam nemam.
Pouzivam verzi Pro.

BTW, nehral sis s nejakym nastaveni toho formatovace (set default nepomuze)?

Stanislav Hruška:
Z Delphi skopírujem text SQL, alebo ho napíšem ručne v Query builder. Potom dám comit - zelená fajka. Výsledkom sú tie doplnené čiarky. Robí mi to na dvoch strojoch.
Mám Desktop Edition ver. 2012.5.19.1
Format Query Text - na to sa pozriem. Nejaké zmeny som robil, ale pokiaľ si pamätám, tak som iba dal menšie odsadenie textu od okraja.
Dokonca mi rozhodí aj First(1)  na
First,
(1, )
Vždy tam doplní aj medzeru.
 
Nič nepomáha. Ani Default hodnoty. Stačí sa prepnúť medzi edit a builder stránkou a späť. A je to tam
 

Navigace

[0] Seznam témat

[#] Další strana

Přejít na plnou verzi