Vue SQL: les tables de Jointure sans causer de données en double sur chaque ligne?

Chaque fois que je créer un affichage de 3 tables, il reprend toutes les données sur toutes les lignes. Je ne suis pas à trouver comment rejoindre ces de sorte qu'il affiche les valeurs null au lieu de doublons. Pouvez-vous m'indiquer le droit direct?

Voici le scénario:

  • Tableau 1 = Comptes: les Noms de Compte et les ID de Compte est
  • Tableau 2 = Propriétés suivantes: Propriété Description, l'Adresse de la Propriété, et Compte ID
  • Tableau 3 = Véhicules: Véhicule marque, le Modèle de Véhicule, et Compte ID

Les données ressemble à quelque chose comme ceci:

[Table 1= Accounts]
   id name  accountid

   1 Family A  account001
   2 Family B  account002
   3 Family C  account003



[Table 2= Properties]
  id accountid  description address

  1 account001 home california
  2 account001  beach mexico
  3 account002  hideout arizona
  4 account002  getaway nevada
  5 account002  skilodge idaho
  6 account 003  home texas


[Table 3= Vehicles]

 id description make model accountid
  1 green  Acura Integra  account001
  2 blue  Aston Martin Vantage account001
  3 silver  Audi Quattro  account001
  4 work  Bently Continental GTC account002
  5 kids  Ford Fusion Hybrid account002
  6 Mom's Car  Land Rover LR4 account003
  7 Paper Weight Mini Clubman account003
  8 Beater  Dodge Caliber  account003
  9 Why Mahindra TR40 account003
  10 Kids  Scion xB  account003

Mon désir est de créer une vue qui me montre tous les enregistrements dans la base de données. Pour chaque ligne, je voudrais montrer le nom de compte et ensuite les données dans les tables.

Je suis à la recherche de la vue, pour renvoyer les résultats qui ressemble à la suivante: Où il n'a tout simplement pas d'affichage de données sur la ligne si les données ne sont pas venus de la colonne qu'il est actuellement de l'interrogation.

account_Name | property_DESCRIPTION | property_ADDRESS | vehicles_DESCRIPTION   vehicles_MAKE | vehicles_MODEL

- Family A  home    california  **null  null    null**
- Family A  beach   mexico  **null  null    null**
- Family A  **null  null**  blue    Aston Martin    Vantage
- Family A  **null  null**  silver  Audi    Quattro
- Family B  hideout arizona **null  null    null**
- Family B  getaway nevada  **null  null    null**
- Family B  skilodge    idaho   **null  null    null**
- Family B  **null  null**  kids    Ford    Fusion Hybrid

Mais au lieu de cela, il affiche des doublons de données, comme le suivant, où à chaque fois il trouve une nouvelle enregistrements, il remplit la ligne avec les données d'autres tables.

account_Name    property_DESCRIPTION    property_ADDRESS    vehicles_DESCRIPTION    vehicles_MAKE   vehicles_MODEL

- Family A  home    california  green   Acura   Integra
- Family A  beach   mexico  green   Acura   Integra
- Family A  home    california  blue    Aston Martin    Vantage
- Family A  beach   mexico  blue    Aston Martin    Vantage
- Family A  home    california  silver  Audi    Quattro
- Family A  beach   mexico  silver  Audi    Quattro
- Family B  hideout arizona work    Bently  Continental GTC
- Family B  getaway nevada  work    Bently  Continental GTC
- Family B  skilodge    idaho   work    Bently  Continental GTC
- Family B  hideout arizona kids    Ford    Fusion Hybrid
- Family B  getaway nevada  kids    Ford    Fusion Hybrid
- Family B  skilodge    idaho   kids    Ford    Fusion Hybrid

Pourquoi cela se produit semble faire sens pour moi; tout est dans le joint. C'est comme si les jointures se sentir comme ils ont vraiment besoin d'afficher des données peu importe le coût. Réflexion à partir d'un script de point de vue, il semble que, au lieu de les jointures, j'ai besoin d'une boucle sur le tableau individuellement et ensuite rejoindre la résultante des boucles ensemble.

En essence j'ai besoin de la vue à la première afficher tous les enregistrements de la table 1, puis tous les enregistrements de la table 2, puis tous les enregistrements de la table 3. Je ne veux pas vraiment à se joindre à ces données, je veux juste la voir tout cela dans une seule vue.

Quelqu'un peut-il la moindre idée de moi de la façon de produire de la vue souhaitée ci-dessus qui montre les valeurs null au lieu de doublons?

C'est sur SQL 2008 R2 Enterprise.

Comment au sujet de l'affichage du SQL, vous êtes à l'aide de...?
Rejoignez Comptes sur les propriétés ajouter des valeurs NULL pour les colonnes de Véhicules. Rejoignez Comptes sur les Véhicules des valeurs NULL pour les colonnes de Propriétés. Combiner les deux avec un union all
Martin merci pour la réponse. Il s'avère que ce que vous avez dit est exactement ce que je devais faire.

OriginalL'auteur Christopher | 2011-02-18