J'ai une base de données qui a deux tables. Une table Call_Info
qui contient des détails sur les appels entrants/sortants et dont l'ID unique est Call_ID
. J'ai une deuxième table qui est liée et appelée la table After_Call_Work
. Chaque appel ne comportera qu'un seul enregistrement de travail après appel. L'ensemble de données est un peu foiré et pour le même appel il y a parfois 3 ou 4 enregistrements de travail après appel. Comment puis-je faire des requêtes en récupérant simplement le premier enregistrement de travail après appel pour cet appel particulier en ignorant le reste? J'ai imaginé en utilisant la fonction SQL First_Value mais il ne semble pas être le bon. Utilisation de Microsoft SQL Server 2012.Récupération SQL Première ligne de correspondance
Des idées?
Normalement, lorsque vous avez une exigence comme 'chaque appel aura seulement un travail après appel Record' il y a une relation 1 à 1 entre CALL_INFO et AFTER_CALL_WORK: ALTER TABLE AFTER_CALL_WORK AJOUTER CONTRAINTE FK_AFTER_CALL_WORK_CALL_INFO clé étrangère (AFTER_CALL_WORK.ID) références CALL_INFO (CALL_ID); Mais cette contrainte n'était pas en vigueur, comme vous l'avez indiqué, et il y a une relation de 1 à plusieurs. La ligne de travail après appel la plus récente serait déterminée par une colonne date ou datetime dans after-call-work qui reflète sa date de création. Y a-t-il une telle colonne? – Tim
@Tim désolé je ne suis pas revenu à vous. Il y a une colonne starttime dans la table de travail après appel de quand le travail d'après appel a commencé et est maintenu en secondes décalé de 1970. Il devrait être après que l'appel se soit terminé ce qui est trouvé dans la table call_info. Toujours coincé avec ce –
Vous devriez voter pour nos réponses. –