Announcement

Collapse
No announcement yet.

Schnittmenge von 2 Suchen löschen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Schnittmenge von 2 Suchen löschen

    Hallo
    ich bin neu hier und hoffe das mir jemand helfen kann.
    Ich muß zur Zeit eine externe Datenquelle mit einer MSSQL 2008 Datenbank abgleichen und habe folgendes Problem.

    Folgende Funktionaltität (hier in 4D geschrieben) muß in MSSQL abgebildet werden
    QUERY([KatalogObjekt];[KatalogObjekt]KatalogSeite_Rec_Num=$KatPageRN)
    RELATE ONE SELECTION([KatalogObjekt];[Artikelgruppe])
    RELATE MANY SELECTION([Textzuordnung]Artikelgruppe_Rec_Num)
    CREATE SET([Textzuordnung];"TZ_1_Set")
    QUERY([KatalogObjekt];[KatalogObjekt]KatalogSeite_Rec_Num=$KatPageRN)
    RELATE ONE SELECTION([KatalogObjekt];[FreierText])
    RELATE MANY SELECTION([Textzuordnung]Text_Rec_Num)
    CREATE SET([Textzuordnung];"TZ_2_Set")
    INTERSECTION("TZ_1_Set";"TZ_2_Set";"TZ_1_Set")
    USE SET("TZ_1_Set")
    DELETE SELECTION([Textzuordnung])
    CLEAR SET("TZ_1_Set")
    CLEAR SET("TZ_2_Set")


    das müsste vom Prinzip in MSSQL so aussehen (geht natürlich so nicht)


    DELETE Textzuordnung FROM Textzuordnung
    INNER JOIN Artikelgruppe ON
    Textzuordnung.Artikelgruppe_Rec_Num=Artikelgruppe. Rec_Num
    INNER JOIN KatalogObjekt ON Artikelgruppe.Rec_Num=Katalogobjekt.Artikelgruppe_ Rec_Num
    WHERE KatalogObjekt.KatalogSeite_Rec_Num="+String($KatPa geRN)

    INTERSECT

    DELETE Textzuordnung FROM Textzuordnung
    INNER JOIN FreierTextON
    Textzuordnung.Text_Rec_Num=FreierText.Rec_Num
    INNER JOIN KatalogObjekt ON FreierText.Rec_Num=Katalogobjekt.Text_Rec_Num
    WHERE KatalogObjekt.KatalogSeite_Rec_Num="+String($KatPa geRN)


    d.h. ich muß die Schnittmenge von 2 Suchen löschen.

    Wie mache ich das?????

    Grüße
    Uwe

  • #2
    Originally posted by UweS View Post
    Hallo

    ich muß die Schnittmenge von 2 Suchen löschen.

    Wie mache ich das?????

    Grüße
    Uwe
    a) Es gibt Aliase...
    b) Z.ID ist hier der Primary Key der Tabelle Textzuordnung
    (müsstest Du durch den Namen des Feldes Deines Primary Keys ersetzen)

    also könnte ungefähr so gehen

    [HIGHLIGHT="SQL"]DELETE Textzuordnung
    WHERE ID IN ( SELECT Z.ID
    FROM Textzuordnung AS Z
    JOIN Artikelgruppe AS G ON Z.Artikelgruppe_Rec_Num = G.Rec_Num
    JOIN KatalogObjekt AS K ON G.Artikelgruppe.Rec_Num = K.Artikelgruppe_ Rec_Num
    WHERE K.KatalogSeite_Rec_Num="+String($KatPa geRN)"

    INTERSECT

    SELECT Z.ID
    FROM Textzuordnung AS Z
    JOIN FreierTextON AS F on Z.Text_Rec_Num = F.Rec_Num
    JOIN KatalogObjekt AS K ON F.Rec_Num = K.Text_Rec_Num
    WHERE K.KatalogSeite_Rec_Num = "+String($KatPa geRN)
    )
    [/HIGHLIGHT]

    Comment

    Working...
    X