Ich habe eine Link-Struktur-Tabelle mit ID und ParentID.Sql Rekursive Funktion zeigen nur Nods, die specific Beziehung haben
ID, Parent, name
1,1
2,1
3,2
4,3
5,3
dieser Tabelle ich eine structure_article Beziehungstabelle haben in dieser Tabelle Ich habe Beziehung zwischen einer Verbindung und einem Artikel.
struture_article
structid, articleID
4,1000
4,1001
5,1002
Jeder Artikel in dieser Tabelle haben einen Lieferanten. Jetzt versuche ich eine rekursive Funktion zu erstellen, die den Baum erstellt nickt, wenn ich einen bestimmten Anbieter auswählen.
Artikel Tisch
ArticleID, SUPPLIER ID
1000,1
1001,2
1002,2
Wenn ich mit Lieferanten holen Artikel 1, dann möchte ich die Funktion mir die Baumstruktur zeigen, die von diesem Anbieter Artikel haben.
Ich habe 20 Lieferanten und 300 Verbindungen in der DB jetzt will ich nur Artikel von den Lieferanten zeigen, die ich auswähle. Ich will kein leeres Nicken.
Ist das überhaupt möglich, erstellen Sie mit einer rekursiven Funktion in Sql Server Version 2008?
I tyied wiht diesem Code das Problem ist, dass ich nur Nicken erhalten, die Artikel
WITH a
AS (SELECT *
FROM structure
WHERE parent = 125
UNION ALL
SELECT m.*
FROM structure m
JOIN a
ON m.parent = a.internidstructure)
SELECT *
FROM a
WHERE internidstructure IN (SELECT DISTINCT(internidstructure)
FROM dbo.articles
INNER JOIN dbo.structure_article
ON dbo.articles.internidarticle =
dbo.structure_article.internidarticle
WHERE (dbo.articles.internidsupplier IN (SELECT
internidsupplier
FROM site_sup
WHERE
internidsite = 1)))
ORDER BY parent,
sortno
Können Sie ein Beispiel für Ihre erwartete Ausgabe geben. – Griffin
Es wäre auch hilfreich, wenn Ihre Beispieldaten exakt mit dem Schema der Beispielabfrage übereinstimmen. – Griffin