Je travaillais sur la formulation d'une requête pour une table d'éligibilité avec un utilisateur peut avoir des éligibilitées différentes.
Tableau aura le format donné ci-dessous. P>
id | start_date | end_date | status | user_id ------------------------------------------------- 1 2018-06-23 2018-12-31 | active | 1 2 2018-06-23 2019-01-30 | active | 1 3 2018-06-23 2018-12-31 | active | 3 4 2018-06-23 2019-12-22 | active | 3 5 2018-06-23 2018-12-31 |inactive| 4 6 2018-06-23 2019-03-10 | active | 4 7 2018-06-23 2018-12-31 | active | 5 8 2018-06-23 2019-12-31 | active | 5 9 2018-06-23 2018-01-31 | active | 6 10 2018-06-23 2019-12-24 | active | 6 11 2018-06-23 2018-12-31 |inactive| 7 12 2018-06-23 2019-02-22 | active | 7 13 2018-06-23 2019-12-31 | active | 1 14 2018-06-23 2019-12-31 | active | 3
3 Réponses :
Avez-vous essayé entre avant?
J'ai mis à jour la question avec les données et les résultats attendus. Jetez un coup d'oeil s'il vous plait
Qu'est-ce que cela vous donne:
select * from users u LEFT join eligibility e on users.id=eligibility.user_id where e.user_id is NULL
Cela ne fonctionnera pas comme ID utilisateur pour chaque dossier d'éligibilité.
J'ai mis à jour la question avec les données et les résultats attendus. Jetez un coup d'oeil s'il vous plait
@Sachin, ça marchera. Je peux voir tout de suite de vos données d'échantillonnage, l'ID de Sam Ronald est absent de la table d'éligibilité. Les critères de la plage de dates peuvent être ajoutés pour réduire le jeu de données.
C'est l'un des cas où l'utilisateur n'a pas d'enregistrement d'éligibilité. Mais si vous regardez l'utilisateur: Dean Marcus, il dispose de deux enregistrements dans la table d'éligibilité qui ne sont pas valides selon la date actuelle. IE: Éligieux expirés
Ce sont les conditions d'un utilisateur éligiibile: donc s'il n'y a pas une ligne d'utilisateur dans le tableau ELIGITÉ code> qui satisfait ces conditions alors que l'utilisateur n'est pas éligible.
Vous pouvez utiliser n'existe pas code>: p>
Merci pour la solution!
Utilisez-vous MySQL ou MS SQL Server?
J'utilise MS SQL Server
Ensuite, vous pouvez supprimer la balise.
Je l'ai fait. Maintenant, pouvez-vous m'aider avec la solution?
"J'ai essayé certaines options mais rien n'a travaillé pour obtenir tous les utilisateurs non éligibles." I> Pourriez-vous poster ces tentatives? Pourquoi n'a-t-il pas fonctionné comme prévu ou retournez les résultats que vous vouliez? Pourriez-vous partager des données d'échantillons et les résultats attendus que vous avez après pour cet échantillon?
@Larnu est totalement d'accord, des échantillons de données et des résultats attendus toujours le meilleur.
J'ai mis à jour la question avec les données et les résultats attendus. Jetez un coup d'oeil s'il vous plait