[SQL] Lehetséges szűrési feltételt készíteni egy másik táblából?
Egészen pontosan arra vagyok kíváncsi, hogy megoldható-e (bármilyen -hatékony- módon, akár plsql is szóba jöhet) és ha igen, akkor hogyan:
Tehát van két tábla. Az egyikben tetszőleges oszlopok és adatok találhatóak. A másik táblában két oszlop: `filter_column_name` és `filter_value`.
Ebbe a táblába vennék fel tetszőlegesen oszlopnév-érték párosokat, amikre majd szűrni szeretnék.
A kérdés az, hogy hogyan lehet olyan dinamikus lekérdezést írni, ami azokra az oszlopnevekre és értékekre szűrne az első táblából, ami a második táblában található.
Feltételezem ciklussal például megoldható lehet.. ugyanakkor fontos lenne, hogy ez gyors is legyen.
(Elsősorban PostgreSQL-es megoldásban gondolkodok, de ha valakinek van ötlete MySQL-re is, akkor az is érdekel. Program verziókat nem írok, mert ez csak szimpla elmélkedés. Nincs tétje, mert nyilván alkalmazás oldalról ez kezelve van, csak kíváncsi vagyok, hogy megoldható-e hatékonyabban csak adatbázisból.)
Kiegészítés: a szűrés alatt, egy szimpla WHERE feltételt értek. (nincs semmilyen aggregáció) A legegyszerűbb példára gondolok.
Köszi a válaszokat.
Amúgy az már végképp meghaladja a képességeim, hogy performanciálisan jó-e a megoldásom. (Nyilván, mielőtt megint azt hisztiket nem ismerem a google-t: azt több helyről is megerősítették, hogy a statikus sql, jobb, mint a dinamikus. Valahol talán érthető is.) De konkrétan lemérni/összehasonlítani egy szimpla explain-el nem lehet.
Valószínűleg az egyetlen "biztos" megoldás, ha feltöltöm egy 1.5-2 milliós rekordhalmazzal és összehasonlítom a temp táblás megoldással. Nagyon érdekes lehet a futásidő mellett a felhasznált memória is. Pl egy félmillió soros visszatérési adathalmaz esetén kíváncsi lennék megnő-e jelentősen a memória használat a táblafüggvény miatt.
De sajnos nincs időm most ilyenekkel játszani. Ellenben ha valakit szintén érdekel és megteszi helyettem és megosztja a méréseit, akkor azért hálás lennék. :)
(Amúgy próbáljatok meg a szakmai részére koncentrálni. A személyeskedésnek semmi értelme egyik oldalról sem. Mint ahogy annak sincs értelme, hogy szarkazmusba csomagolja valaki a fölényeskedő stílusát. ;) )
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!