2017-07-12 7 views
0

Ich habe eine Tabelle mit 49 einzigartigen Item_Classes und ein paar hundert einzigartige Customer_Ids.Eins zu viele Beziehung in MS SQL

Wenn ich Customer_ID und Item_Class abfrage bekomme ich nur die Item_Classes, dass jeder Kunde gekauft hat.

Ich möchte jedes Unique Item_Class an jedem einzigartigen Customer_ID anhängen, unabhängig davon, ob sie das Item_Class gekauft haben oder nicht.

Das Ergebnis sollte 49 der gleichen Customer_Id mit 49 verschiedenen einzigartigen Item_Classes daran angeschlossen zeigen.

Hinweis: Dies muss ohne Schreibzugriff auf die Datenbank durchgeführt werden.

+1

Beispieldaten als DDL + DML, die gewünschten Ergebnisse und aktuelle Versuch, bitte. –

+1

In SQL wird eine Eins-zu-viele-Beziehung mithilfe eines "linken Joins" hergestellt. – Josh

+0

Wo ist Ihre Anfrage? – Eric

Antwort

-1

Sie beschreiben einen cartesianischen verbinden von Kunden und Produkte, z.B .:

select * 
from 
    (select distinct Customer_ID from yourTable) as a, 
    (select distinct Item_Class from yourTable) as b; 
+1

Bitte verwenden Sie keine impliziten Joins. Explizite Verknüpfungen sind seit über 25 Jahren Teil von ANSI-SQL. Außerdem würde ein Cross-Join nicht das Ergebnis erhalten, das der OP beschrieben hat. BTW, Downvote ist nicht meins. –

+0

Dies wird nicht funktionieren. – Eric