SQL SELECT *, kivéve..
2021-10-29T13:26:24+02:00
2021-10-30T04:48:13+02:00
2022-08-12T05:20:28+02:00
Csak egy kérdés
Hali,
van egy lekérdezésem, ami több táblából tevődik össze, viszont a SELECT * megoldás nem lenne ideális.
Hogyan tudom úgy megírni a lekérdezés eredményét, hogy minden attribútumot lássak, kivéve azt a pár darabot, amit fixen meghatározok?

Pl.:
Van egy lekérdezésem, amiben pl. user adatokat kérek le. Viszont a SELECT * nem jó, mert akkor pl. a születési idő és a jelszó is megjelenne a lekérdezés eredményében. Van olyan megoldás, hogy ne kelljen az összes attribútumot felsorolnom, amit az eredményben látok, hanem csak azokat, amikre nincs szükségem?
Mutasd a teljes hozzászólást!
Hali!

Van olyan megoldás, hogy ne kelljen az összes attribútumot felsorolnom, amit az eredményben látok, hanem csak azokat, amikre nincs szükségem?

Röviden: nincs. Hosszabban: készíthetsz a lekérdezésre nézetet, tárolt eljárást, temp-táblát. Esetleg, mivel említetted, hogy JOIN-os a lekérdezés (ha ezt érted „több táblából tevődik össze” alatt), akkor azt megteheted, hogy az oszlopok specifikálásánál különbontod táblákra, és csak annál a táblá(k)nál sorolod fel az oszlopokat, ami(k)nél van(nak) a nem kellő oszlopok:
SELECT `t1`.*, `t2`.*, `t3`.`col1`, `t3`.`col2`, `t4`* FROM `table1` AS `t1` INNER JOIN `table2` AS `t2` ON (…) INNER JOIN `table3` AS `t3` ON (…) INNER JOIN `table4` AS `t4` ON (…) WHERE … …
Amúgy miért/mire kell ez neked? Egy SQL-mondatot egyszer kell megírni, utána már csak használnod kell.

Mutasd a teljes hozzászólást!

abcd