[mssql 2008] Hilfe für Parameter Abfrage

thokern

Neuer Benutzer
Beiträge
2
Ich würde gerne in der Abfrage die Textfelder in der WHERE Klausel durch EINEN Parameter ersetzen:

Code:
USE [mydatabase]
GO
SELECT a.BelID, a.A1PLZ, a.A1Ort, a.Belegjahr, a.Belegnummer, a.Belegart ,a.Belegdatum , b.Langtext, b.Dimensionstext, b.Bezeichnung2, b.Bezeichnung1, a.A0Empfaenger
 
FROM [Com4voice].[dbo].[KHKVKBelege] AS a INNER JOIN [Com4voice].[dbo].[KHKVKBelegePositionen] AS b ON a.BelID = b.BelID
 
WHERE b.Langtext LIKE '%' + '01487' + '%' OR b.Dimensionstext LIKE '%' + '01487' + '%' OR b.Bezeichnung2 LIKE '%' + '01487' + '%'
ORDER BY a.BelID, b.Position ASC;
GO

Alle meine Versuche waren erfolglos. Jede Hilfe willkommen....
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.637
Code:
USE [mydatabase]
GO
DECLARE    @variable VARCHAR(10)
SET        @variable = '%01487%'
 
SELECT a.BelID, a.A1PLZ, a.A1Ort, a.Belegjahr, a.Belegnummer, a.Belegart ,a.Belegdatum , b.Langtext, b.Dimensionstext, b.Bezeichnung2, b.Bezeichnung1, a.A0Empfaenger
 
FROM [Com4voice].[dbo].[KHKVKBelege] AS a INNER JOIN [Com4voice].[dbo].[KHKVKBelegePositionen] AS b ON a.BelID = b.BelID
 
WHERE b.Langtext LIKE @variable OR b.Dimensionstext LIKE @variable OR b.Bezeichnung2 LIKE @variable
ORDER BY a.BelID, b.Position ASC;
GO
 

thokern

Neuer Benutzer
Beiträge
2
Prinzipiell funktioniert das, aber ich vergass: Ich hätte gerne dass beim Ausführen der Abfrage ein Feld kommt in das ich eine beliebige Seriennummer oder Teile davon eintragen kann und als Rückgabe alle Belege angezeigt werden, die diese Seriennummern enthalten.

Die statische Suche mit der SerienNummer P100.... funktioniert schon prächtig. Was mir noch fehlt ist das Eingabefeld....

Code:
USE [mydatabase]
GO
 
DECLARE    @SerienNummer VARCHAR(10)
SET        @SerienNummer = '%P100%'

SELECT a.BelID, a.A1PLZ, a.A1Ort, a.Belegjahr, a.Belegnummer, a.Belegart ,a.Belegdatum , b.Langtext, b.Dimensionstext, b.Bezeichnung2, b.Bezeichnung1, a.A0Empfaenger
FROM [Com4voice].[dbo].[KHKVKBelege] AS a INNER JOIN [Com4voice].[dbo].[KHKVKBelegePositionen] AS b ON a.BelID = b.BelID
WHERE b.Langtext LIKE @SerienNummer OR b.Dimensionstext LIKE @SerienNummer OR b.Bezeichnung2 LIKE @SerienNummer
ORDER BY a.BelID, b.Position ASC;
GO
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.637
SQL ist eine Scriptsprache fürs Backend die anderen Programmiersprachen helfen soll, mit Datenbanken zu kommunizieren oder automatismen in der Datenbank abbildet. Es gibt keine Möglichkeit Fenster oder Abfragen aufzurufen, die mit dem User interagieren. Hab das selbst noch recherchiert aber finde den Artikel nicht mehr.
 
Oben