SQL - výběr tabulky parametrem

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Odpovědět
jardal
nováček
Příspěvky: 25
Registrován: 29 led 2009 11:27

SQL - výběr tabulky parametrem

Příspěvek od jardal »

Dobrý den.
Mám za úkol udělat dotaz do databáze (do skladů). Každý sklad má jinou tabulku a já potřebuji parametrem zadat název tabulky. Mořím se s tím od rána, ale už jsem v koncích. SQL SERVER 2005

Současný stav

Kód: Vybrat vše

INSERT INTO @base
SELECT it.stoItemID,it.itemCode, st.onStock
FROM t2_stoS1Items it INNER JOIN t2_stoS1Items_onStock st ON (it.stoItemID = st.stoItemID )


funguje OK. Jenže já mám víc skladů a potřebuju parametrem vybrat tabulku

takže jsem napsal:

Kód: Vybrat vše

INSERT INTO @base
SELECT it.stoItemID,it.itemCode, st.onStock
FROM "'t2_sto'+rtrim(@sklad)+'Items'" it INNER JOIN "'t2_sto'+rtrim(@sklad)+'Items_onStock'" st ON (it.stoItemID = st.stoItemID )



ve @sklad mám hodnotu S1 (varchar). Pořád to nejde, kde dělám chybu. Poradí někdo? Díky Jarda
d1amond
člen HW spec týmu
Příspěvky: 16119
Registrován: 26 kvě 2008 10:14
Bydliště: České Budějovice

Re: SQL - výběr tabulky parametrem

Příspěvek od d1amond »

Ahoj,
možné řešení je využít standardní SP z MS SQL:

Kód: Vybrat vše

declare
 @sql nvarchar(4000)
,@sklad nvarchar(10)

select @sklad = 'S1'

select @sql = 'SELECT it.stoItemID,it.itemCode, st.onStock
                    FROM t2_sto' + @sklad + 'Items it
                    INNER JOIN t2_sto' + @sklad + 'Items_onStock st ON (it.stoItemID = st.stoItemID )'

--select @sql as sql

execute sp_executesql @smtm = @sql



select @sql as sql je tam pro kontrolu, jestli se to poskládalo správně.
Jinak v klauzuli FROM můžeš použít ještě funkce nebo proměné typu TABLE. O těch řetězcích bych pochyboval, ale možná to někdo dokáže:).
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?
jardal
nováček
Příspěvky: 25
Registrován: 29 led 2009 11:27

Re: SQL - výběr tabulky parametrem

Příspěvek od jardal »

Děkuju moc, už to funguje.

Díky moc.
Jarda
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na „Programování a tvorba webu“