Veröffentlicht 3. August 200619 j Hallo, folgendes Problem: Ich habe 2 Tabellen, mal so grob die Spalten, also die wichtigen die ich jez brauche: tabelle 1: ticketnr, beschreibung, status, objektid, idadminbearbeitung, anfangsdatum tabelle 2: id, typ so ich will jez aus tabelle 1 daten rausholen.. und zwar: 1. in der beschreibung suche ich nach einem schlüsselwort (where beschreibung like '%wort%') 2. das anfangsdatum soll in nem bestimmten zeitraum liegen where anfangsdatum >= datumsanfang and anfangsdatum <= datumsende) das funktioniert bis jetzt wunderbar, jetzt kommt der Teil wo ich nen Join brauche: 3. ich gebe einen typ ein.. die id die in der objektid in tabelle 1 steht kann ich in tabelle 2 wiederfinden in id ich will also nur datensätze aus tabelle 1 dessen objektid in tabelle 2 einen bestimmten typen hat hab bis jez das hier, aber das funzt nich mit dem join, steig da leider noch nicht so durch: "SELECT a.ID, a.TicketNr, a.ObjektID, a.Beschreibung, a.Status, kObjekte.Typ,a.IDAdminBearbeitung FROM dAktion as a, kObjekte" + " WHERE a.Beschreibung LIKE '%" + suchwort + "%' AND a.IsBase = 'J' AND a.Anfang >= " + datumsanfang + " AND a.Anfang <= " + datumsende + " " + "INNER JOIN kObjekte ((ON kObjekte.ID = dAktion.ObjektID) LEFT JOIN kObjekte.Typ = " + typ + ")" Kann mir bitte jemand helfen?
3. August 200619 j "SELECT a.ID, a.TicketNr, a.ObjektID, a.Beschreibung, a.Status, kObjekte.Typ,a.IDAdminBearbeitung FROM dAktion as a, kObjekte" + " WHERE a.Beschreibung LIKE '%" + suchwort + "%' AND a.IsBase = 'J' AND a.Anfang >= " + datumsanfang + " AND a.Anfang <= " + datumsende + " " + "INNER JOIN kObjekte ((ON kObjekte.ID = dAktion.ObjektID) LEFT JOIN kObjekte.Typ = " + typ + ")" Kann mir bitte jemand helfen? Also die Reihenfolge is schonmal falsch SELECT a.ID, a.TicketNr, a.ObjektID, a.Beschreibung, a.Status, b..Typ , a.IDAdminBearbeitung FROM dAktion a INNER JOIN kObjekte b ON b.ID = a.ObjektID WHERE a.Beschreibung LIKE '%<suchwort>%' AND a.IsBase = 'J' AND a.Anfang >= <datumsanfang> AND a.Anfang <= <datumsende> Hab mal deine Quotes rausgenommen... Versuch mal einheitlich die Aliase fuer die Tabellen zu benutzen.. und Joins wirklich nur ueber die IDs zu machen.. den rest kannst du normal per Aliase referenzieren...
3. August 200619 j Jo danke, sieht schon mal was logischer aus. Jetzt habe ich aber immer noch keinen Bezug auf den Typen des Objekts Wenn ich nur gucke ob die ObjektID auch in der Tabelle kObjekte steht, bringts ja nichts, die steht auf jeden Fall drin. Das Wichtige ist ja, ob das Objekt auch den bestimmten Typen hat, das bringt mich ja so durcheinander *g* Ohne die Typenauswahl gehts ja auch ohne JOIN Geht das dann mit nem ... INNER JOIN kObjekte b ON b.ID = a.ObjektID AND b.Typ = <typ> ... oder brauch ich da son 2. Join? ... INNER JOIN kObjekte b ON b.ID = a.ObjektID INNER JOIN b ON b.Typ = <typ> ...
3. August 200619 j Geht das dann mit nem ... INNER JOIN kObjekte b ON b.ID = a.ObjektID AND b.Typ = <typ> ... Müsste so klappen
3. August 200619 j anscheinend nicht. er sagt mir "Verknüpfungsausdruck nicht unterstützt" Äh sorry die "and" Anweisung gehört natürlich ins WHERE
3. August 200619 j Naja, ganz schön viel aufwand, dafür, dass Inner Join eigentlich eine unnötige Verknüpfung ist, weil Inner Join eigentlich nur eine andere Schreibweise für Where ist.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.