SELECT @Tax = SUM(QuoteItem.SalesPrice) * TOP (1) Tax.Amount
FROM Tax INNER JOIN
Job ON Tax.TaxId = Job.TaxId INNER JOIN
Quote ON Job.JobId = Quote.JobId INNER JOIN
QuoteItem INNER JOIN
Room ON QuoteItem.RoomId = Room.RoomId ON Quote.QuoteId = Room.QuoteId
WHERE (Room.QuoteId = @QuoteId) AND (QuoteItem.UnitId = @UnitId)
RETURN @Tax
Résultat:Besoin d'aide avec une requête SQL
Msg 156, Level 15, State 1, Procedure fn_GetQuoteUnitTax, Line 54
Incorrect syntax near the keyword 'TOP'.
Notez que quand j'omettez le TOP (1) il est dit:
Msg 8120, Level 16, State 1, Procedure fn_GetQuoteUnitTax, Line 54
Column 'Tax.Amount' is invalid in the select list because it is not contained in
either an aggregate function or the GROUP BY clause.
Il serait utile que vous nous avez dit ce que vous êtes essayant d'accomplir. –
Ce que je veux faire est simple et vous pouvez le voir à partir de la requête, je veux prendre tous les SalesPrice de QuoteItems et le multiplier avec la taxe du travail. – Shimmy
Pourquoi essayez-vous d'exécuter 'TOP 1' dans le champ tax.amount? De plus, votre SQL ne dispose pas des critères de jointure 'QUOTEITEM'. –