Also habe ich drei Tabellen, die ich mit einer disjunkten Verbindung erstellen möchte. Dies sind Person, Mieter und Angestellter. Also muss jede Person entweder ein Mieter oder ein Angestellter sein, niemals beides. Ich erstelle eine Person Tabelle mit dem Primärschlüssel PersonID, und Mandant und Mitarbeiter als zwei getrennte Tabellen, deren Primärschlüssel beide Fremdschlüssel sind, die zurück zu der Person (PersonID) verbinden. Wie erstelle ich hier ein Disjoint, wo jede Person nur ein Mieter oder ein Angestellter sein kann? DankWie schreibt man Tabellen in SQL mit einer disjunkten Verbindung?
1
A
Antwort
0
Sie können dies versuchen, die jede Person auswählen wird, die entweder eine Person oder ein Mitarbeiter:
SELECT *
FROM (SELECT person.*,
CASE WHEN employee.id IS NULL THEN 0 ELSE 1 END AS is_employee,
CASE WHEN tenant.id IS NULL THEN 0 ELSE 1 END AS is_tenant
FROM person LEFT JOIN employee on person.id = employee.id
LEFT JOIN tenant on person.id = tenant.id) AS tA
WHERE tA.is_employee <> tA.is_person
Vergewissern Sie sich, dass die ID-Spalten alle indiziert sind.
Verwandte Themen
- 1. Wie zeichne Graph mit disjunkten Kanten?
- 2. wie man doppelte in Select-Anweisung mit der Verbindung von zwei Tabellen in Sql
- 3. Dynamic SQL, wie man '' zu dynamischem SQL schreibt?
- 4. Wie schreibt man Union-Abfragen in mongoDB
- 5. Wie man auf einer Seite in einer WordPress schreibt?
- 6. Wie schreibt man reines SQL in asp.net mvc?
- 7. Wie schreibt man das SQL für ein PreparedStatement mit einer WHERE x IN-Klausel?
- 8. Wie man innerhalb einer rvest html_session schreibt?
- 9. Wie schreibt man SQL Joins in Fensterfunktionen um?
- 10. Wie schreibt man die Abfrage in SQL Server 2008 dynamisch?
- 11. Wie schreibt man in Excel?
- 12. , wie man schreibt Mysql Abfrage
- 13. Wie schreibt man boolesche Kommandozeilenargumente mit Python?
- 14. Wie man drei Tabellen mit Aggregatfunktionen in Sql Server
- 15. Wie schreibt
- 16. Wie erstellt man Tabellen in einer verknüpften Tabelle mit OPENQUERY?
- 17. , wie die Daten in zwei Tabellen mit einer SQL-Abfrage
- 18. Doppelte Ergebnisse mit SQL Query Verbindung zwischen zwei Tabellen
- 19. wie Tabellen beitreten sql server
- 20. Sammlung von maximal disjunkten Mengen
- 21. Wie schreibt man von einer Windows-Anwendung in ein Konsolenfenster?
- 22. Wie schreibt man verschachtelten JSON mit JQuery?
- 23. Wie man einen Datenbeitrag mit HttpUrlConnection schreibt?
- 24. Wie schreibt man SQL Query für diesen Fall?
- 25. Wie Sie Tabellen mit SQL-Befehl verbinden
- 26. Wie man zu WebApi mit HttpClient schreibt?
- 27. Wie schreibt man Mouseover mit PageFactory
- 28. Wie schreibt man Float mit Twig?
- 29. Wie schreibt man String-Arrays mit POSTMAN?
- 30. OCaml Wie schreibt man in eine Datei?
https://stackoverflow.com/help/mcve - Können Sie einige Beispieldaten bereitstellen und was Sie erwarten, zurückzukehren? Das klingt nach einem einfachen JOIN. – Shawn
Erfahren Sie, wie Sie Fragen stellen können. https://stackoverflow.com/help/how-to-ask – Eric
Bitte ** [EDIT] ** Ihre Frage und fügen Sie einige [Beispieldaten] (http://plaintetxtols.github.io/plain-text-table/) und die erwartete Ausgabe basierend auf diesen Daten. [** Formatierter Text **] (http://stackoverflow.com/help/formatting) bitte, [** keine Screenshots **] (http://meta.stackoverflow.com/questions/285551/why-may -I-nicht-Upload-Bilder-of-Code-auf-so-wenn-eine Frage zu stellen/285557 # 285557). ** [Bearbeiten] ** Ihre Frage - tun ** nicht ** Postleitzahl oder zusätzliche Informationen in Kommentaren. –