0
votes

StartDate Identifiant invalide

J'ai deux stations de sélection que je connecte à l'aide de Union et je reçois une erreur xxx

puisque je crée une première délégation et exécution et je reçois le résultat, et Deuxièmement, donc je cours séparément et cela fonctionne parfaitement. Mais quand j'utilise un syndicat, je reçois une erreur pUSD2.Startdate identifiant non valide. xxx

Qu'est-ce qui ne va pas ici? Ce que j'ai fait de mal?

Structure de table project_users_schedule_dates

Entrez l'image Description ici


3 commentaires

Pouvez-vous fournir la structure du tableau project_users_schedule_dates ?


Bien sûr, je modifie ma question


C'est la table des données. La structure montrerait les types de données. Sont startdate et enddate des chaînes? Veuillez également poster des données comme texte non des images.


3 Réponses :


1
votes

L'erreur provient probablement de l'utilisation d'un alias dans la deuxième syndicat de votre commande par code> clause. Cependant, je pourrais suggérer d'écrire votre requête de cette façon à la place:

SELECT DISTINCT *
FROM project_users_schedule_dates
WHERE
    UserID = 196 AND 
    (StartDate >= '2020-04-27' AND EndDate <= '2020-06-06' OR
     StartDate <= '2020-04-27' AND EndDate >= '2020-06-06');


0 commentaires

0
votes

Le problème est l'ordre par la clause code>. Si vous utilisez Union code>, vous devez mettre la commande par une requête de contour xxx pré>

Vous devez utiliser une requête de contour avec l'ordre en dehors de l'Union (voir ci-dessous) ou utilisez une autre approximation comme celle fournie dans l'autre réponse. P>

SQL> select * from ( select t.c1 from t union all select x.c1 from t x ) order by c1 ;

C1
---------
27-AUG-20
27-AUG-20


2 commentaires

je vous en prie ;) . Comme vous le voyez peut-être, il existe plusieurs options pour résoudre le problème


Oui je vois. Mais tout ce que je choisis, je reçois un résultat différent. Et je ne sais pas quelle manière est correcte.



0
votes

La façon dont je le vois, la dernière ligne de votre requête doit être juste xxx

(bien sûr, s'il y a une telle colonne dans cette requête).


2 commentaires

Oui, c'est la colonne startdate.


Bon. Ensuite, ça devrait être ok.