2017-12-02 6 views
0

Hier ist die Frage:Erstellen einer SQL-Funktion, die einen Parameter eingibt und gibt einen Anbieter mit den niedrigsten Kosten

-Code und führen Sie die Anweisung eine Funktion erstellen genannt PreferredVendor, die eine
Produkt-ID Parameter als Eingabe akzeptiert und gibt die Hersteller-ID des Verkäufers mit den niedrigsten Kosten
in VendorProduct

ich habe Probleme, die VendorID mit den niedrigsten Kosten Rückkehr, hier ist die Tabellenstruktur

Create table VendorProduct(

VendorProductID int identity primary key, 
Cost decimal(12,4), 
ProductID int identity foreign key references Product(ProductID), 
VendorID int identity foreign key references Vendor(VendorID) 
) 

Der Code, den ich bisher erstellt haben, ist die folgende:

CREATE FUNCTION dbo.PreferredVendor (@ProductID int) 
RETURNS int 
AS 
BEGIN 
    DECLARE @LowestVendorPrice int 
    SELECT @LowestVendorPrice = VendorID FROM VendorProduct 
    WHERE ProductID = @ProductID 
    RETURN @LowestVendorPrice 
END 
GO 

Ich habe hier nicht in der Lage gewesen, um herauszufinden, wie MIN nutzen zu können!

+0

Welche [DBMS] (https://en.wikipedia.org/wiki/DBMS) Produkt verwenden Sie? "SQL" ist nur eine Abfragesprache, nicht der Name eines bestimmten Datenbankprodukts. –

Antwort

2

verwenden wählen Sie in Ihrer Funktion

SELECT TOP 1 @LowestVendorPrice = VendorID FROM VendorProduct 
    WHERE ProductID = @ProductID 
    ORDER BY Cost 
+0

Vielen Dank! Ich habe die ganze Aussage völlig übertrieben! –

Verwandte Themen