J'ai une requête qui retourne filles fusionnées:SPROC pour organiser les résultats par ordre alphabétique, sauf les deux premiers résultats?
ReceiptFolderID FolderParentID FolderTypeID FolderType FolderName FolderDescription ReceiptCount
--------------- -------------- ------------ -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ------------
3 0 1 Pending Receipts Pending Receipts System folder; user cannot delete 1
7 0 2 Uncategorized Receipts Uncategorized Receipts System folder; user cannot delete 2
26 8 3 User-Defined Folder European Travel Folders created by users 0
25 0 3 User-Defined Folder Family Receipts Folders created by users 0
SELECT ReceiptFolderID, FolderParentID, tbl_ReceiptFolders.FolderTypeID,
FolderType,
CASE tbl_ReceiptFolderTypes.FolderTypeID
WHEN 1 THEN tbl_ReceiptFolderTypes.FolderType
WHEN 2 THEN tbl_ReceiptFolderTypes.FolderType
ELSE tbl_ReceiptFolders.FolderName
END AS FolderName,
tbl_ReceiptFolderTypes.FolderDescription,
dbo.GetFolderReceiptCount(ReceiptFolderID) AS ReceiptCount
INTO #tmp_UserFolders
FROM tbl_ReceiptFolders LEFT JOIN tbl_ReceiptFolderTypes ON tbl_ReceiptFolders.FolderTypeID=tbl_ReceiptFolderTypes.FolderTypeID
WHERE [email protected]
AND (tbl_ReceiptFolderTypes.FolderTypeID = 1
OR tbl_ReceiptFolderTypes.FolderTypeID = 2)
--ORDER BY tbl_ReceiptFolderTypes.FolderTypeID ASC
UNION
SELECT ReceiptFolderID, FolderParentID, tbl_ReceiptFolders.FolderTypeID,
FolderType,
CASE tbl_ReceiptFolderTypes.FolderTypeID
WHEN 1 THEN tbl_ReceiptFolderTypes.FolderType
WHEN 2 THEN tbl_ReceiptFolderTypes.FolderType
ELSE tbl_ReceiptFolders.FolderName
END AS FolderName,
tbl_ReceiptFolderTypes.FolderDescription,
dbo.GetFolderReceiptCount(ReceiptFolderID) AS ReceiptCount
INTO #tmp_UserFolders
FROM tbl_ReceiptFolders LEFT JOIN tbl_ReceiptFolderTypes ON tbl_ReceiptFolders.FolderTypeID=tbl_ReceiptFolderTypes.FolderTypeID
WHERE [email protected]
AND (tbl_ReceiptFolderTypes.FolderTypeID <> 1
OR tbl_ReceiptFolderTypes.FolderTypeID <> 2)
Comme vous pouvez le voir, en attente et reçus Non classé apparaît toujours d'abord, puis le reste, en ordre alphabétique.
Maintenant, pour lancer ceci dans un SPROC, ce que j'ai fait avec les dossiers #temp ne fonctionne pas.
Comment se fait-il que le sproc renvoie ces résultats?
Merci!
Je ne vois pas comment cette UNION pourrait fonctionner! – Nestor
Que voulez-vous dire "ne fonctionne pas" ... que fait-il? –
Chris ... si vous supprimez les lignes INTO ... cela fonctionne, mais la réponse ci-dessous est beaucoup plus élégante. – ElHaix