SQL-Abfrage für den Abgleich mehrerer Werte in der gleichen Spalte
Ich habe eine Tabelle in MySQL wie folgt.
Id Designation Years Employee
1 Soft.Egr 2000-2005 A
2 Soft.Egr 2000-2005 B
3 Soft.Egr 2000-2005 C
4 Sr.Soft.Egr 2005-2010 A
5 Sr.Soft.Egr 2005-2010 B
6 Pro.Mgr 2010-2012 A
Ich brauche, um den Mitarbeiter, der gearbeitet hat, als Weich.AGR und Sr. Weich.AGR und Pro.Mgr. Es ist nicht möglich, IN oder Mehrere ANDs in der Abfrage. Wie mache ich das??
Verwenden Sie
self join
um Ihnen das gewünschte Ergebnis. Siehe tutorialspoint.com/sql/sql-self-joins.htmInformationsquelleAutor prasanth | 2013-05-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dem, was Sie vielleicht tatsächlich suchen, ist relationale division, auch wenn die übung den Anforderungen verbieten die Verwendung
AND
(warum auch immer?). Dies ist schwierig, aber möglich Ausdrücken in SQL.Relationale division in prosa bedeutet: Finden Sie diejenigen Mitarbeiter, die einen Datensatz in der Tabelle Personal für alle vorhandenen Bezeichnungen. Oder in SQL:
Obige Abfrage in Aktion, sollten Sie diese SQLFiddle
Eine gute Ressource zu erklären, relationale division kann hier gefunden werden:
http://www.simple-talk.com/sql/t-sql-programming/divided-we-stand-the-sql-of-relational-division
Ich weiß, du hast wahrscheinlich Recht. Aber ich habe ein Bauchgefühl (da dies eine Akademische Frage), könnte dies über relationale division. Und wenn nicht, ist es doch gut zu erhöhen relationale division Bewusstsein für Stack-Überlauf 🙂
InformationsquelleAutor Lukas Eder
Einen Weg:
InformationsquelleAutor
Wenn Sie brauchen, um zusätzliche Informationen über die einzelnen Rollen (wie die Daten), dann der Beitritt zurück zu Ihrem ursprünglichen Tabelle für jede der zusätzlichen Bezeichnungen ist eine mögliche Lösung:
InformationsquelleAutor ninesided
Warum nicht die folgenden (für postgresql)?
Link zu SQLfiddle
Ich weiß, das ist vielleicht nicht optimiert, aber ich finde das viel viel einfacher zu verstehen und zu ändern.
InformationsquelleAutor Sida Zhou
Versuchen, diese Abfrage:
InformationsquelleAutor Nageswar Rao