webForumDet fria alternativet

Stored Procedure: Hämta från flera tabeller, sätta in i samma fält..

Databaser & SQL

2 svar · 428 visningar · startad av freddyk

Medlem sedan okt. 2006103 inlägg
Frågan#1

Hallå,

Behöver SQL kunskap :) Har SQL Server 2005.

Jag har en databas med broschyrer. Dessa broschyrers attribut finns utpalcerade lite varstans i olika tabeller. Ex Det gemensamma för varje broschyr finns i tabell "Broschyr", Olika språkfinns i "Sprak"-tabellen, samlade fakta om en specifik Broschyr på ett specifikt språk finns i BroschyrLanguage. Denna tabell innehåller t ex Broschyrens ID, Språkets ID, antal Broschyrer för just den broschyren m m. Vidare finns det lagerplatser i databasen. Här lagras lagerplats med gång fack osv. Jag kopplar tabell Lagerplatser till tabell BroschyrLanguage via en kopplingstabell "lagerplatsBroschyr". Det finsn mer men det behvöer vi nog inte gå in på... :)

Databas
Broschyr (Allmänn info Ex Broschyrnamn)
BroschyrLanguage (Språkspecifik broschyrinfo Ex Antal broschyrer på ett visst språk)
Sprak (Språkinfo ex Tyska)
LagerplatsBroschyr ( kopplar Broschyr på ett språk till Lagerplatstabell)
Lagerplats (Lagerplatsinfo)

Det jag vill göra är att hämta värden från dessa olika tabeller baserat på en viss lagerplats (jag vill alltså ha fram broschyrinfo via lagerplatsid, vilken broschyr som finns på platsen). Det svåra är (enligt mig) att jag endast vill ha 2 fält tillbaka, Ett med broschyrID och ett "sammanslaget" fält som hämtat in en massa information från BroschyrLanguage, Broschyr och slagit ihop detta till en enda sträng.

Något i stil med :
Fält 1: "1" (BroschyrID) Fält 2: "Broschyrnamn(från Broschyrtabell) : Språk (från Språktabell utifrån språkID som finns lagrat i broschyrLanguage) : År (från BroschyrLanguagetabell)"

Anledningen är att jag ska visa detta i en ListBox (ASP.net) med broschyrens ID som datavaluefield och den sammanslagna informationen som datatextfield.

Är det vettigt att göra detta i en SP? hur kan man lösa det i så fall? Eller finns det något bättre sätt? Förstår om jag förklarat lustigt o krångligt men fråga det ni inte hänger med på så ska jag försöka svara... ;)

Grymt tacksam för all möjlig hjälp! :bire

Medlem sedan dec. 200012 464 inlägg
#2

Det kan man IMHO lika gärna göra i applikationen, annars kan du konkatenera två uttryck med +, d.v.s

select c1, c2 + c3 from ...
Medlem sedan okt. 2006103 inlägg
#3

LarsG skrev:

Det kan man IMHO lika gärna göra i applikationen, annars kan du konkatenera två uttryck med +, d.v.s

select c1, c2 + c3 from ...

Supertack LarsG.

Ska testa detta. Antar att jag kan göra detta i applikationen också, precis som du nämner.

Tack!

253 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
114 ms — ändringar (db)