Ich habe Schwierigkeiten mit dem Schlüsselwort UNION in meiner SQL Anfrage, Ich brauche mein Ergebnis von Spalte zu sortieren, die nicht von einer SELECT angezeigt wird,ORDER BY, SELECT mit UNION Art Schwierigkeit
DECLARE @search0 varchar(30);
SET @search0 = 'joll'
SELECT c.CdCnd AS n, FORMAT(c.ModifieLe, 'd', 'fr-FR') AS Modifié, c.Nom+' '+c.prenom AS 'Nom Complet', c.TelMobile AS 'Tel. Mob', c.SuiviPar AS 'Suivi par', a.LibAction AS 'à faire', c.Remuneration AS Rémunération, p.LibPrio AS Priorité, c.disponibilite AS Disponibilité, c.MotCleTech AS MCTech, c.MotCleFct AS MCFonc, c.MotCleEnt AS MCEnt, c.Details AS 'Détails', c.DateDispo AS DTDispo, c.Mobilite AS Mobilité
FROM Candidat c
LEFT JOIN TypAction a
ON c.CdAction = a.CdAction
LEFT JOIN TypPriorite p
ON c.CdPrio = p.CdPrio
WHERE ( (Nom LIKE '%' + @search0 + '%' COLLATE SQL_Latin1_General_Cp437_CI_AI OR prenom LIKE '%' + @search0 + '%' COLLATE SQL_Latin1_General_Cp437_CI_AI OR MotCleTech LIKE '%' + @search0 + '%' COLLATE SQL_Latin1_General_Cp437_CI_AI OR MotCleFct LIKE '%' + @search0 + '%' COLLATE SQL_Latin1_General_Cp437_CI_AI OR MotCleEnt LIKE '%' + @search0 + '%' COLLATE SQL_Latin1_General_Cp437_CI_AI ) )
UNION
SELECT c.CdCnd AS n, FORMAT(c.ModifieLe, 'd', 'fr-FR') AS Modifié, c.Nom+' '+c.prenom AS 'Nom Complet', c.TelMobile AS 'Tel. Mob', c.SuiviPar AS 'Suivi par', a.LibAction AS 'à faire', c.Remuneration AS Rémunération, p.LibPrio AS Priorité, c.disponibilite AS Disponibilité, c.MotCleTech AS MCTech, c.MotCleFct AS MCFonc, c.MotCleEnt AS MCEnt, c.Details AS 'Détails', c.DateDispo AS DTDispo, c.Mobilite AS Mobilité
FROM Candidat c
LEFT JOIN TypAction a
ON c.CdAction = a.CdAction
LEFT JOIN TypPriorite p
ON c.CdPrio = p.CdPrio
WHERE (1 = 2 OR c.CdCnd = '3' OR c.CdCnd = '48' OR c.CdCnd = '16')
ORDER BY Modifié DESC
Hier i Ich muss mein gesamtes Ergebnis nach DateTime mit der Spalte c.ModifieLe, sortieren Aber mit der UNION-Einschränkung kann ich diese Spalte verwenden, ohne sie anzuzeigen, und ich muss mein Datum in 'fr-FR' formatieren,
Also verwende ich "Modifié", um mein Ergebnis zu sortieren, aber diese Art wie ein Varchar-Typ ...
Ich muss meine DateTime in französischer Kultur FORMATIEREN und es auf Date Type halten.
Danke für alle Hilfe.
Ich stimme zu, mit einer Randnotiz, dass dies ein bisschen mehr Arbeit verursacht: zuerst formatieren und dann Parsen, was gerade formatiert wurde. Wenn das Probleme verursacht, sollte die UNION zuerst ohne Formatierung mit einer Unterabfrage sortiert werden, und danach kann das FORMAT auf dem Ergebnis davon ausgeführt werden. –