Haitian: SQL.. Entweder-Oder

Hallo,
ich habe folgendes Problem.
Ich habe 2 "Ideen" einmal Begriff und einmal Satz.
Beide Tabellen haben allgemeines Eigenschaften wie: Thema, Creator, Titel
Dann hat die Tabelle Begriff "eigene" Eigenschaften: wie Alias, Detail etc
Die Tabelle Satz wiederrum eigene wie: Description, Notation

Ich habe nun eine Tabelle Idee mit den Spalten: ID, Thema, Creator, Titel
Eine Begriff mit: ID(refrenz auf Idee), Alias , Detail
eine Satz mit: ID, Description, Notation

Als Beispiel würde ich mir gerne ID= 1 anzeigen lassen. Dabei weiss ich nciht was 1 ist, ein Satz oder 1 Begriff.
Wie würde der SQL befehl dafür lauten?
Habe schon Sachen wie
SELECT * FROM (SELECT * FROM begriff  WHERE ID = 1) a, (SELECT * FROM satz WHERE ID = 1) b , (SELECT * FROM idee WHERE ID = 1) c

haben da bekomme ich null zeilen raus.Hat jmd eine Idee oder bin ich mit meiner Lösung falsch?

Danke
hai

  1. Wie würde der SQL befehl dafür lauten?

    MySQL kann mit XOR umgehen - da du dein genutztes DBMS verschweigst, kann ich hier leider nichts genaueres sagen.

    1. Wie würde der SQL befehl dafür lauten?

      MySQL kann mit XOR umgehen - da du dein genutztes DBMS verschweigst, kann ich hier leider nichts genaueres sagen.

      Ich benutze MySql neueste Version. Wie hilft mir das XOR bei meinem Problem?

      1. Ich benutze MySql neueste Version. Wie hilft mir das XOR bei meinem Problem?

        XOR ist ein exklusives oder - also einfach ausgedrückt: Entspricht '("A" XOR "B")' folgendem '("A" OR "B") NOT ("A AND B")'. Ist es nicht, das was du suchst?

        1. Ich benutze MySql neueste Version. Wie hilft mir das XOR bei meinem Problem?

          XOR ist ein exklusives oder - also einfach ausgedrückt: Entspricht '("A" XOR "B")' folgendem '("A" OR "B") NOT ("A AND B")'. Ist es nicht, das was du suchst?

          Hast du dir mein Problem angesehen?
          Die Frage ist nicht ob es ein XOR gibt sondern wie ich mein problem löse.
          Leider sehe ich nicht wie es mit XOR funktioniert.
          Danke

          1. Hast du dir mein Problem angesehen?

            Ja, aber scheinbar nicht richtig verstanden.

            1. Hast du dir mein Problem angesehen?

              Ja, aber scheinbar nicht richtig verstanden.

              Wie hast du es denn verstanden?
              Danke

  2. Hallo,

    verwende UNION bzw UNION ALL

    Es ist ein allgemeines Problem mit "Relationalen Datenbanken" für diesen Zweck.

    Cheers, Frank

  3. Kia purotu koe!

    ich habe folgendes Problem.
    Ich habe 2 "Ideen" einmal Begriff und einmal Satz.
    Beide Tabellen haben allgemeines Eigenschaften wie: Thema, Creator, Titel
    Dann hat die Tabelle Begriff "eigene" Eigenschaften: wie Alias, Detail etc
    Die Tabelle Satz wiederrum eigene wie: Description, Notation

    Ich habe nun eine Tabelle Idee mit den Spalten: ID, Thema, Creator, Titel
    Eine Begriff mit: ID(refrenz auf Idee), Alias , Detail
    eine Satz mit: ID, Description, Notation

    Als Beispiel würde ich mir gerne ID= 1 anzeigen lassen. Dabei weiss ich nciht was 1 ist, ein Satz oder 1 Begriff.
    Wie würde der SQL befehl dafür lauten?

    Hole Dir mit LEFT JOIN die Spalten aus allen drei Tabellen:

    SELECT Thema, Creator, Titel,, Alias, Detail,, Description, Notation,FROM Idee  
    LEFT JOIN Begriff ON Idee.ID = Begriff.ID  
    LEFT JOIN Satz ON Idee.ID = Satz.ID  
    WHERE Idee.ID = 1
    

    Dann sind alle eventuell relevanten Spalten vorhanden, und die jeweils unnötigen enthalten NULL, was Du bei der Weiterverarbeitung abfragst.

    Viele Grüße vom Længlich

    --
    Mein aktueller Gruß ist:
    Mangareva (Französisch-Polynesien)