J'utilise un db MS SQL et j'ai 3 tables: 'base_info', 'messages', 'config'Comparer 2 valeurs de différents types à l'intérieur de la sous-requête
bases:
ID Name NameNum
====================================
1 Home 101
2 Castle 102
3 Car 103
messages:
ID Signal RecBy HQ
============================
111 120 Home 1
111 110 Castle 1
111 125 Car 1
222 120 Home 2
222 125 Castle 2
222 130 Car 2
333 100 Home 1
333 110 Car 2
config:
ID SignalRec SignalOut RecBy HQ
====================================
111 60 45 101 1
111 40 60 102 1
222 50 60 102 2
222 30 90 101 2
333 80 10 103 1
Ok maintenant j'ai une sous-requête dans lequel je sélectionne le 'SignalRec' et 'SignalOut' de la table de config et le fais correspondre sur la table de messages par ID et Date (non inclus ci-dessus), le problème est que j'en ai besoin pour correspondre où messages.RecBy = config.RecBy mais config.RecBy est une chaîne mais son nom est équivalent dans la table des bases. J'ai donc presque besoin de faire une sous-requête à l'intérieur d'une sous-requête ou d'un type de jointure et de comparer la valeur retournée.
Voici ce que j'ai jusqu'à présent:
(SELECT TOP 1 config.SignalRec from config WHERE config.ID = messages.ID AND ||I need th other comparison here||...Order By...) As cfgSignalRec,
(SELECT TOP 1 config.SignalOut from config WHERE config.ID = messages.ID AND ||I need th other comparison here||...Order By...) As cfgSignalOut
J'ai essayé de faire cela aussi clair que possible, mais si vous avez besoin de plus d'info laissez-moi savoir.
Je ne pouvais pas penser à un bon titre pour ça. –