Ich habe eine schwierige Frage. I haben zwei Sätze auf TabellenWählen Sie Datensätze aus, in denen Felder in t1 nicht in t2 existieren, aber ignorieren, wenn t1 Felder NULL sind
Tabelle 1:
VoucherCode | Category | Size | Colour | Gender
0001 | Shirt | NULL | Green | Male
0002 | Shirt | 12 | NULL | Male
0003 | Shirt | 12 | Blue | NULL
0004 | Shirt | NULL | NULL | NULL
0005 | Shorts | NULL | Brown | Male
0006 | Shorts | 10 | NULL | Male
0007 | Shorts | 12 | Green | NULL
0008 | Shorts | NULL | NULL | NULL
0009 | Pants | NULL | Pink | Female
0010 | Pants | 10 | NULL | Male
0011 | Pants | 12 | Purple | NULL
0012 | Pants | NULL | NULL | NULL
Tabelle 2:
ProductCode | Category | Size | Colour | Gender
0001 | Shirt | 10 | Blue | Male
0002 | Shorts | 13 | Brown | Female
0003 | Pants | 10 | Purple | Male
0004 | Pants | 10 | Purple | Female
Die erste Tabelle ist eine Liste Gutscheinen, die zweite Tabelle ist eine Liste von Produkten. Ich muss eine Abfrage schreiben, die eine Liste von Gutscheinen zurückgibt, die unmöglich funktionieren könnte.
Die Prämisse, bestimmte Attribute eines Gutscheins können anstelle eines Literals NULL
sein, weil die beabsichtigte Verwendung dieses Gutscheins für eine beliebige Kombination der anderen definierten Attribute ist.
Beispiele:
den Gutscheincode 0001 konnte nicht Arbeit, weil es keine Produkte mit einer Kategorie von Hemd, Farbe Grün, und Geschlecht von männlich
den Gutscheincode 0004 konnte Arbeit, weil es ist ein Produkt mit einer Kategorie von Shirt.
Um dies zu berücksichtigen, muss ich eine Abfrage schreiben, um alle Datensätze aus Tabelle 1 zurückzugeben, die möglicherweise nicht funktionieren könnten.
Ergebnisse wie diese
VoucherCode | Category | Size | Colour | Gender
0001 | Shirt | NULL | Green | Male
0002 | Shirt | 12 | NULL | Male
0003 | Shirt | 12 | Blue | NULL
0005 | Shorts | NULL | Brown | Male
0006 | Shorts | 10 | NULL | Male
0007 | Shorts | 12 | Green | NULL
0009 | Pants | NULL | Pink | Female
0011 | Pants | 12 | Purple | NULL
Hat jemand irgendwelche Ideen zu sehen, wie ich das erreichen könnte?
Tag deine Frage mit der Datenbank du benutzt. –
Notieren Sie die Regeln, Prädikate oder Ausdrücke, die jeder Gutschein erfüllen muss, um in die Ausgabe aufgenommen zu werden. Beispiele sind hilfreich, aber die Regeln müssen zuerst definiert werden. –
Ihre Beschreibung ist * fast * perfekt. Aber Sie scheinen vergessen zu haben, die Gutscheine 3,4 und 8 in Ihrer Tabelle t1 aufzulisten. Sie erscheinen nur in Ihrer Lösung. – cars10m