{SQL Server}

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. 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
    1. 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. plus ressent je pense
        0
    2. 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. 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. 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. 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