Je ne connais pas bien Firebird et j'ai beaucoup de mal à traduire ce T-SQL en langage Firebird SQL. Ce code est stocké en dehors de la base de données, pas dans une procédure stockée. Je suppose à partir des erreurs et de mon expérimentation que je suis fondamentalement obligé de mettre cela dans une procédure stockée d'une manière ou d'une autre. Est-ce que je peux faire ceci tout en maintenant le code hors de la base de données?Problème lors de la traduction d'une requête SQL Server vers Firebird
1
A
Répondre
1
Votre code peut être simplifiée à une seule requête:
SELECT COUNT(*) AS numTotal,
(SELECT COUNT(*)
FROM YOUR_TABLE
WHERE userid IS NOT NULL
AND createdon = @createdon) AS numUsed
FROM YOUR_TABLE
WHERE createdon = @createdon
L'utilisation des guillemets doubles est ANSI pour échapper à des caractères inhabituels, dont aucun je vois dans l'exemple.
Vous avez manqué le 'WHERE CreatedOn = @ CreatedOn' sur votre requête externe? –
@Joe Stefanelli: Correction, merci. –
Noms de tables et de colonnes Firebird majuscules si vous ne les avez pas indiqués. – Taudris