vereinfachung bei Where-Klauseln

25/07/2008 - 07:26 von oilsardine | Report spam
hallo,
ich suche eine Lösung, um Selects in meiner Anwendung (C++ bzw. Visual
Basic) zu vereinfachen. Es geht um das selektieren von Prüfergebnissen. Um
ein Datensatz eindeutig zu beschreiben, muss Product Name, Code, Nummer,
Herstellungsverfahren, Batch Name, Code und Nummer und einiges mehr
eingegeben werden. Wenn wir das in einer Where Klausel bei jeder Abfrage
machen, dann wird der Sourcecode -sehr- voluminös und unübersichtlich.
Deshalb die Frage ob as einfacher zu machen ist. Meine Idee wàre ein
Verbundkey(?) der über eine Variabel anzusprechen wàre. Ein hypothetischr
Pseudocode (ich weiss, sowas geht in der Weise in Sql nicht):

Bediener gibt die Kriterien über Bildschirmmaske ein, die Daten werden in
einer Stringvariablen 'mykriterium' gespeichert.

create unique key mykey use (product.name, product.code...)

select * from xyz where mykey = mykriterium

gibts eine Sql Realworl-Lösung für sowas?

-danke
Günther
 

Lesen sie die antworten

#1 Christa Kurschat
25/07/2008 - 08:16 | Warnen spam
Hallo,

"oilsardine" schrieb im Newsbeitrag
news:g6bo77$bd1$
hallo,
ich suche eine Lösung, um Selects in meiner Anwendung (C++ bzw. Visual
Basic) zu vereinfachen. Es geht um das selektieren von Prüfergebnissen. Um
ein Datensatz eindeutig zu beschreiben, muss Product Name, Code, Nummer,
Herstellungsverfahren, Batch Name, Code und Nummer und einiges mehr
eingegeben werden. Wenn wir das in einer Where Klausel bei jeder Abfrage
machen, dann wird der Sourcecode -sehr- voluminös und unübersichtlich.
Deshalb die Frage ob as einfacher zu machen ist. Meine Idee wàre ein
Verbundkey(?) der über eine Variabel anzusprechen wàre. Ein hypothetischr
Pseudocode (ich weiss, sowas geht in der Weise in Sql nicht):

Bediener gibt die Kriterien über Bildschirmmaske ein, die Daten werden in
einer Stringvariablen 'mykriterium' gespeichert.

create unique key mykey use (product.name, product.code...)

select * from xyz where mykey = mykriterium

gibts eine Sql Realworl-Lösung für sowas?



Ich verwende in soclen Fàllen immer eine Tabelle für die Parameter auf dem
SQL Server, die ich in einem View mit der abzufragenden Tabelle joine.
create table t_Parameter ([Product Name] varchar(50) null,
Code varchar(50) null,
Nummer int null,
Herstellungsverfahren varchar(50) null,
[Batch Name] varchar(50) null --solche Namen solltest Du vermeiden
)

create view v_Tabellenabfrage as
select ... from Tabelle a inner join t_Parameter b on
a.[Product Name] = b.[Product Name]
...

oder
select ... from Tabelle a, t_Parameter b
where (a.[Product Name] = b.[Product Name] or b.[Product Name] is null --
oder '*'

Das erspart es mir, aufwàndige Statements zu generieren.

Gruß
Christa
Access-FAQ: http://www.donkarl.com
SQL-Server-FAQ: www.sqlfaq.de
InsideSql: www.insidesql.org

Ähnliche fragen