Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem MS SQL vypis len urcitych stlpcov

Potrebujem v sql prikaze taku konstrukciu, ktora mi vypise len stlpce zacinajuce urcitymi znakmi, napr mam v tabulke stlpce aaa, aab,aac, aba, abc abd, aca, acb acd . . . . potrebujem vypisat len napr len stlpce abcokolvek . . . . jasne ze vymenovat ich ide, ae napr moze ich byt 20, 20 . . . . a to by som sa upisal . .. nejaka konstrukcia typu select ab* from tabulka ... ???

Předmět Autor Datum
Tak to mi zavání hodně špatným návrhem databáze.
Wikan 27.03.2015 08:39
Wikan
to je sice mozne, ale musim robit s tym co som dostal :-(
truhlik 27.03.2015 08:54
truhlik
to co chces je sice kravina, ale ked to tak velmi chces, tak riesenie: declare @string nvarchar(max…
wam_Spider007 27.03.2015 10:16
wam_Spider007
akoze diky, lenze . . . lenze potrebujem len jeden vyraz select . . . . nie viac riadkov do prg, mam…
truhlik 27.03.2015 10:45
truhlik
Jednym selectom to neurobis. Ak ti ide len o to, ze sa ti to nechce vypisovat, tak vyuzi ten select,…
wam_Spider007 27.03.2015 11:56
wam_Spider007
Nevím, kde ten výběr používáš. Lehko bys to udělal v libovolném programovacím jazyce, kterým se umíš… poslední
hynajs 27.03.2015 12:50
hynajs

to co chces je sice kravina, ale ked to tak velmi chces, tak riesenie:

declare @string nvarchar(max) = ''
declare @cmd nvarchar(max)
select @string = @string + sc.name + ','
from sys.columns sc
inner join sys.tables st
	on st.object_id = sc.object_id
where st.name = 'NazovTvojejTabulky' and sc.name like 'ab%'

set @cmd = 'select ' + left(@string, LEN(@string) - 1) + ' from NazovTvojejTabulky'

exec( @cmd )

Nevím, kde ten výběr používáš.
Lehko bys to udělal v libovolném programovacím jazyce, kterým se umíš připojit k MS SQL.
Ale jednalo by se o dva dotazy:
1. dotaz na seznam sloupců ze zadané tabulky
2. programově vybereš se seznamu názvy požadovaných sloupců a pak sestavíš druhý dotaz

Zpět do poradny Odpovědět na původní otázku Nahoru