Felder in Abhängigkeit vom Text

29/07/2008 - 08:53 von rk10059 | Report spam
Hallo Forum

Ich habe in einer Datenbank ein Feld mit Kurztext. In Abhàngigkeit von
diesem Kurztext
möchte ich nun Werte in andere Felder geschrieben haben.
Derzeit habe ich das in einer View mit vielen "UnionŽs" gelöst.
Ist aber sehr unübersichtlich und geht sicher besser, einfacher und
schneller.
Kann mit bitte jemand einen Tip geben - herzlichen Dank im Voraus.

Anbei noch ein Auszug aus meiner View:

SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
GO
CREATE view vw_tmp_Dauerauftraege as
select COAuftrag,Art,'Behebung von Màngel' as FzgReihe,'GW' as
AArt,'Behebung von Màngeln' as AArtEbene3,
KSTID from TS_DWH_DB.dbo.tmpDauerAuftr2005
where Kurztext like '%Behebg von Màngeln%'
union all
Select COAuftrag,Art,'Einschulung' as FzgReihe,'K Schulung' as
AArt,'Einschulungen' as AArtEbene3,
KSTID from TS_DWH_DB.dbo.tmpDauerAuftr2005
where Kurztext like '%Einschulung%'
union all
Select COAuftrag,Art,'Keine Arbeit vorhanden' as FzgReihe,'Keine
Arbeit vorhanden' as AArt,'Keine Arbeit vorhanden' as AArtEbene3,
KSTID from TS_DWH_DB.dbo.tmpDauerAuftr2005
where Kurztext like '%Keine Arbeit%'
union all
Select COAuftrag,Art,'Sonstige Kostenstellenleistung' as FzgReihe,'K
Sonstige Kostenstellenleistung' as AArt,'Sonstige
Kostenstellenleistung' as AArtEbene3,
KSTID as Sicht from TS_DWH_DB.dbo.tmpDauerAuftr2005
where Kurztext like '%Sonst%'
union all
select COAuftrag,Art,'Teambesprechung' as FzgReihe,'K Teambesprechung'
as AArt,'Teambesprechungen' as AArtEbene3,
KSTID from TS_DWH_DB.dbo.tmpDauerAuftr2005
where Kurztext like '%Team%'
union all
select COAuftrag,Art,'Anlagenerhaltung' as FzgReihe,'Anlagenerhaltung'
as AArt,'Anlagenerhaltung' as AArtEbene3,
KSTID from TS_DWH_DB.dbo.tmpDauerAuftr2005
where Kurztext like '%Anlagenerhaltung%'
union all
select COAuftrag,Art,'Transport im eigenen GZ' as FzgReihe,'K
Transport' as AArt,'Transportleistungen' as AArtEbene3,
KSTID from TS_DWH_DB.dbo.tmpDauerAuftr2005
where Kurztext like '%Transportleistung%'
union all
Select COAuftrag,Art,'Versuche' as FzgReihe,'Versuche' as
AArt,'Versuche' as AArtEbene3,
KSTID from TS_DWH_DB.dbo.tmpDauerAuftr2005
where Kurztext like '%Versuche%'
union all

usw ...
 

Lesen sie die antworten

#1 Frank Kalis
29/07/2008 - 09:41 | Warnen spam
On 29 Jul., 08:53, rk10059 wrote:

Ich habe in einer Datenbank ein Feld mit Kurztext. In Abhàngigkeit von
diesem Kurztext
möchte ich nun Werte in andere Felder geschrieben haben.
Derzeit habe ich das in einer View mit vielen "UnionŽs" gelöst.
Ist aber sehr unübersichtlich und geht sicher besser, einfacher und
schneller.
Kann mit bitte jemand einen Tip geben - herzlichen Dank im Voraus.

Anbei noch ein Auszug aus meiner View:

SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
GO
CREATE view vw_tmp_Dauerauftraege as
select COAuftrag,Art,'Behebung von Màngel' as FzgReihe,'GW' as
AArt,'Behebung von Màngeln' as AArtEbene3,
KSTID from TS_DWH_DB.dbo.tmpDauerAuftr2005
where Kurztext like '%Behebg von Màngeln%'
union all



Wenn ich Dich richtig verstehe, könnte man etwas in dieser Richtung
machen:

CREATE VIEW vw_tmp_Dauerauftraege AS
SELECT
COAuftrag,Art,
CASE
WHEN Kurztext LIKE '%Behebg von Màngeln%' THEN 'Behebung von
Màngel'
WHEN Kurztext LIKE '%Einschulung%' THEN 'Einschulung'
ELSE NULL
END AS FzgReihe,
CASE
WHEN Kurztext LIKE '%Behebg von Màngeln%' THEN 'GW'
WHEN Kurztext LIKE '%Einschulung%' THEN 'K Schulung'
ELSE NULL
END AS AArt

FROM
TS_DWH_DB.dbo.tmpDauerAuftr2005
WHERE
(Kurztext like '%Behebg von Màngeln%') OR
(Kurztext like '%Einschulung%')

Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org

Ähnliche fragen