SQL Splitsen van cellen

Status
Niet open voor verdere reacties.

michielkuiper

Gebruiker
Lid geworden
30 dec 2010
Berichten
11
Goedmorgen,

Ik ben op zoek naar de functie om in een MS SQL Query een cel te splitsen. Op het internet heb ik al een en ander afgezocht maar ik krijg nog niet het gewenste resultaat, hopelijk kunnen jullie mij helpen.

Ik heb een SQL-query waarin gegevens uit meerdere tabellen geladen worden.

TABEL A: bezit klantgegevens in de volgende kolommen:
NAAM
ADRES
SEGMENTATIEID

TABEL B: bezit segmentatiegegevens in de volgende kolommen:
SEGMENTATIEID
OMSCHRIJVING

De koppeling tussen de tabllen gaat goed en ik krijg bijvoorbeeld de volgende uitkomst:
NAAM Segmentatie aantal medewerkers
Bedrijf X 100 t/m 499
Bedrijf Y 1 t/m 4
Bedrijf Z 1000 en meer

Graag zou ik de kolom 'Segementatie aantal medewerkers' willen opsplitsen in een kolom 'vanaf' (minimaal) en een kolom 'tot en met' (maximaal)
die in bovenstaande voorbeeld het volgende resultaat zou moeten geven:
NAAM Vanaf(minimaal) Tot en met(maximaal)
Bedrijf X 100 499
Bedrijf Y 1 4
Bedrijf Z 1000

In de query heb ik de functie 'LEFT' en 'RIGHT' al gebruikt maar dit geeft niet het juiste resultaat. Ik gebruik dan bijvoorbeeld het aantal charaters in de functie op '3'. Dit gaat goed bij het getal '100' maar niet bij 1 (dit wordt dan '1 t') en 1000 (dit word dan 100).

Zou iemand mij kunnen helpen om deze kolom dus correct op te splitsen in twee kolommen waar de juiste waarden worden weergegeven?

Alvast heel erg bedankt!
 
Waarom bouw je je tabel dan niet zo op? eigenlijk ben je nu een deel van je presentatie laag aan het implementeren in je data laag.

<ID> <int MIN> <int MAX> <text OMSCHIJVING_IN_TEXT>

Eventueel kan de text omschrijving ook weg als je presentatie om kan gaan met de data uit de tabellen. Als de segmenten vast zijn kun je ook een extra tabel met deze informatie gebruiken. Overigens is je vraag wel op te lossen in de meeste DBs, maar de performance is vele malen lager.
 
SQL kent de functie Instr niet, waarmee je een veld kunt splitsen. Dat zul je in de gegevensbron moeten oplossen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan