Schrift
[thread]3417[/thread]

Ergebnis einer Bedingung als Spalte: MS SQL-Server 7



<< >> 6 Einträge, 1 Seite
Heromaster
 2004-03-04 12:15
#31811 #31811
User since
2003-08-05
220 Artikel
BenutzerIn
[default_avatar]
Ich habe 3 Tabellen, die ich miteinander verknüpfen muss.

1. Tabelle Referenzkunden
id | Kunde | Region

2. Tabelle Technologische_Ansaetze
id | Ansatz | Beschreibung

3. Tabelle Referenzkunden_und_Technologien
id | ReferenzkundenID | Technologie_ID

Ich benötige alle Datensätze aus der Tabelle Referenzkunden und das Ergebnis Wahr/Falsch, ob die id in Referenzkunden_und_Technologien mit einer bestimmten TechnologieID in einem Datensatz steht.
Wie kann ich in SQL mir das Ergebnis Wahr/Falsch als Spalte ausgeben lassen?
[sql]SELECT Kunde, Region
FROM Referenzkunden AS Refkunde
INNER JOIN Referenzkunden_und_Technologien AS RefTech
ON Refkunde.id = RefTech.ReferenzkundenID
WHERE RefKunde.id = RefTech.ReferenzkundenID AND RefTech.Technologien_ID = 17[/sql]
Ich würde gerne die WHERE-Klausel als Wahr/Falsch-Ergebnis zurückgeliefert bekommen. Wie geht das?

edit:
Ich kenne die benötigte TechnologieID.
Angenommen, die Tabellen enthalten folgenden Inhalt

[font=courier new]1. Referenzkunden
Id        Kunde         Region
1         A             DD
2         B             B
3         C             L
4         DD            PO

2. Referenzkunden_und_Technologien
Id        ReferenzkundenID    Technologie_ID
1         1                    1
2         4                    1
3         2                    2
4         3                    2

3. Technologische_Ansaetze
Id Ansatz             Beschreibung
1  Irgendwas          Etwas
2  Was anderes        Etwas anderes[/font]

Die Ergebnistabelle sollte bei Technologie.id = 1 so aussehen:

[font=courier new]Kunde    Region     aktiv
A        DD         WAHR
B        B          FALSCH
C        L          FALSCH
D        PO         WAHR[/font]

Wenn die Technologie die ID 2 hat, dann soll die Ergebnistabelle so aussehen:

[font=courier new]Kunde    Region     aktiv
A        DD         FALSCH
B        B          WAHR
C        L          WAHR
D        PO         FALSCH[/font]\n\n

<!--EDIT|Heromaster|1078402918-->
Derjenige, der zwei Hasen jagt, lässt einen zurück und verliert den anderen.
Strat
 2004-03-04 19:59
#31812 #31812
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
teste mal:
[sql]SELECT Kunde, Region, RefKunde.id = RefTech.ReferenzkundenId AS irgendwAS FROM Referenzkunden AS Refkunde
INNER JOIN Referenzkunden_und_Technologien AS RefTech
ON Refkunde.id = RefTech.ReferenzkundenID
WHERE RefKunde.id = RefTech.ReferenzkundenID AND RefTech.Technologien_ID = 17
[/sql]\n\n

<!--EDIT|Strat|1078423243-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Heromaster
 2004-03-05 10:57
#31813 #31813
User since
2003-08-05
220 Artikel
BenutzerIn
[default_avatar]
Hallo Strat,

leider klappt Dein Vorschlag nicht. Der SQL-Server meldet mir einen Fehler bei dem Versuch die 3. Spalte zu definieren :(.
Derjenige, der zwei Hasen jagt, lässt einen zurück und verliert den anderen.
Strat
 2004-03-05 22:34
#31814 #31814
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
teste mal

[sql]SELECT Kunde, Region, RefKunde.id <= > RefTech.ReferenzkundenId FROM Referenzkunden AS Refkunde
INNER JOIN Referenzkunden_und_Technologien AS RefTech
ON Refkunde.id = RefTech.ReferenzkundenID
WHERE RefKunde.id = RefTech.ReferenzkundenID AND RefTech.Technologien_ID = 17
[/sql]


[edit] beim <= > kommt kein leerzeichen [/edit]
kann aber sein, dass das erst ab mysql4 geht; welche version benuetzt du?\n\n

<!--EDIT|Strat|1078700705-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Heromaster
 2004-03-07 18:15
#31815 #31815
User since
2003-08-05
220 Artikel
BenutzerIn
[default_avatar]
Ehm, ich benutze Microsoft SQL-Server 7 :). Am Montag werde ich mal schauen, ob Deine Idee klappt *hoff*.
Derjenige, der zwei Hasen jagt, lässt einen zurück und verliert den anderen.
Heromaster
 2004-03-10 12:04
#31816 #31816
User since
2003-08-05
220 Artikel
BenutzerIn
[default_avatar]
Auch diese Abfrage schlug fehl. Ich habe das jetzt über ein serverseitiges Makro gelöst. Ist zwar nicht SQL-konform, aber was solls :)
Derjenige, der zwei Hasen jagt, lässt einen zurück und verliert den anderen.
<< >> 6 Einträge, 1 Seite



View all threads created 2004-03-04 12:15.