Autor | Zpráva | ||
---|---|---|---|
Milan1236000 Profil |
Čau,
jde v SQL napsat podmínka, podle které se pak dále např. na základě počtu záznamů nějakého dalšího dotazu rozhodne, který "finální" dotaz se použije pro výběr dat? Nezdá se mi to nereálné, ale bohužel mi nefunguje ani tento testovací dotaz: IF (1=1) BEGIN SELECT DATE(NOW()) END ELSE BEGIN SELECT TIME(NOW()) END Píšu to špatně, nebo něco takového zatím provést nelze? Alternativně samozřejmě můžu napsat postupně jednotlivé dotazy, které si pak php zavolá a rozhodne ono, ale napadlo mě trochu více využít toho obrovského výkonu databáze oproti "pomaličkému" php. :) Díky. |
||
Mlocik97 Profil |
#2 · Zasláno: 6. 7. 2019, 13:59:36
Milan1236000:
ten testovací dotaz je nezmysl a aj chybný navyše.... 1. podmienka nezmyselná, v oboch vetvách stejný kód... SELECT v SQL nemůže stát samostatne, vždy v spojení s FROM klauzulov. |
||
Milan1236000 Profil |
#3 · Zasláno: 6. 7. 2019, 14:22:12
Mlocik97:
I když napíšu podmínku s FROM, tak se mi nevypíše ani datum, ani čas. IF ((SELECT COUNT(id) FROM my_table) > 0) ... |
||
Keeehi Profil |
#4 · Zasláno: 6. 7. 2019, 15:04:17
„SELECT v SQL nemůže stát samostatne, vždy v spojení s FROM klauzulov.“
Před tím, než sem něco napíšeš, tak si zkus prosím ověřit, zda je to pravda. SELECT samozřejmě může být bez FROM. SELECT now() je příklad perfektně funkčního dotazu.
sqlfiddle.com/#!9/9eecb/11776 Milan1236000: Pokud chceš if, tak to je funkce, takže zapsat by se to dalo takto SELECT IF (1=1, DATE(NOW()), TIME(NOW())) Pokud by jsi to chtěl více blokově, tak se dá použít CASE SELECT CASE WHEN 1>0 THEN DATE(NOW()) ELSE TIME(NOW()) END „napadlo mě trochu více využít toho obrovského výkonu databáze oproti "pomaličkému" php. :)“ To je spíš cesta do pekel. PHP samo o sobě až tak pomalé není. A když pomalé je, tak je to v naprosté většině jen tím, že programátor napsal neefektivní kód. Pokud máš pomalý kód, zprovozni si profiler, tím zjistíš co je v kódu největší brzdou a pak se zamysli nad tím, jak to napsat efektivně. |
||
Mlocik97 Profil |
Keeehi:
Tam v knihe "SQL za 28 dní" od `Ryan Stephens, Ron Plew a Arie D. Jones` klamú, rovnako aj na jednej stránke (ktorú si už nepametám, ale bola v češtine), z kade som sa učil SQL. Dobre vedieť. |
||
Keeehi Profil |
#6 · Zasláno: 6. 7. 2019, 15:49:26
Mlocik97:
„Tam v knihe "SQL za 28 dní" od `Ryan Stephens, Ron Plew a Arie D. Jones` klamú“ To znovu není pravda. Jen jsi to nečetl pořádně. Viz strana 49 v sekci Píšeme první dotaz > Vstup „Podstatné je, že příkaz SELECT je téměř vždy doprovázen klauzulí FROM. “ |
||
Mlocik97 Profil |
#7 · Zasláno: 6. 7. 2019, 15:55:13
Keeehi:
ok, pozrel som sa, už mlčím... |
||
Milan1236000 Profil |
Keeehi:
Skvěle, díky moc. :) |
||
Časová prodleva: 5 let
|
0