{SQL Server}

CEDVIP -  
 Utilisateur anonyme -
Bonjour, je cherche une requête et je m'en sort pas.

voila mon dilemme :

j'ai deux tables, l'une Comporte le nom d'un client et son numéro client, l'autre table comporte le numéro client qui est enregistré a chaque fois que j'appelle ce client.
j'aimerai pouvoir rassembler les infos de ces deux tables a savoir : le nom du lient, son numéro et le nombre de fois ou je l'ai appelé

Table 1		       Table 2	                 Résultat souhaité		
numéro	client		   numéro   com	      client       Numéro  	appelé
.000001	MR AAA	    .000001	   xxx		MR AAA	 .000001	   3
.000002	MR BBB	    .000002	   xxx		MR BBB	 .000002	   2
.000003	MR CCC	    .000003	   xxx		MR CCC	 .000003	   4
.000004	MR DDD	    .000003	   xxx				
.000005	MR EEE	    .000001	   xxx				
.000006	MR FFF	    .000002	   xxx				
.000007	MR GGG	    .000001	   xxx				
.000008	MR HHH	    .000003	   xxx				
.000009	MR JJJ	    .000003	   xxx				


J'ai essayé avec SUM et COUNT mais je n'arrive pas a mettre les deux tables en relation

Si quelqu'un peut m'aider, je l'en remercie par avance
Configuration: Windows XP
Firefox 3.5.4

4 réponses

  1. le père
     
    Bonjour

    SELECT client,tb1.numero, count(tb2.com) as appele from tb1 left join tb2 on tb1.numero=tb2.numero group by numero
    0
    1. cedvip
       
      bonsoir, merci pour cette réponse si rapide, voila ma requête finale :
      contact = table 1
      historique = table 2
      id_contact = numéro
      id_action = client

      select
      id_action,contact.id_contact, count(historique.id_contact)
      as appelles
      from contact
      left join historique on contact.id_contact=historique.id_contact
      group by id_contact

      mais ca me donne cette erreur :

      Msg 209, Niveau 16, État 1, Ligne 1
      'id_contact' : nom de colonne ambigu.
      0
  2. Évidemment
     
    ambigu ça veut dire que "ça correspond à plusieurs trucs et je sais pas ce que tu veux"
    en clair, ça veut dire que dans ta requête, il y a deux colonnes qui s'appellent id_contact et qu'à un moment (dans un where par exemple) tu dis au moteur de travailler sur id_contact. Comme il y en a plusieurs il ne sait pas choisir (ou il ne peut pas ou il ne doit pas)
    solution: préciser la table d'où provient le id_contact cité dans le group by : de la table contact
    0
    1. Cedvip
       
      Merci ça marche nickel.
      J'ai rajouter le nom de la table pour la clause group by
      Bonne soirée et encore merci
      0
  3. le père
     
    J'avais fait l'essai avec mysql avant de poster, et viens de le refaire pour vérifier
    Visiblement, pour mysql le group by numero n'est pas ambigu. Sans doute à cause de la condition de jointure on tb1.numero=tb2.numero
    MySQL plus malin ?
    0
    1. cedvip
       
      plus ressent je pense
      0
  4. Utilisateur anonyme
     
    bonjour j ai une application sur access et j veux l utiliser un portail SQL serveur Pour attaque l application
    je besoin de votre aide pour savoir comment procedé
    Merci d avance!!!
    0