Mit Tabellendaten:Wie wählt man Daten aus der folgenden Tabelle?
Wie das Ergebnis zu erhalten, wie: wie die unten
Mit Tabellendaten:Wie wählt man Daten aus der folgenden Tabelle?
Wie das Ergebnis zu erhalten, wie: wie die unten
select category_name,parent_category_name from tbl_product p
left join
(
select cp.category_code,
case
when
cp.parent_code = 0 then ''
when
cp.parent_code != 0 then cp.category_name
end as category_name,
cp.parent_code, isnull(ch.category_name, cp.category_name) as parent_category_name from tbl_category cp
left join
(
select cl.category_name, cl.category_code, cl.parent_code from tbl_category cl
) ch on cp.parent_code = ch.category_code
) as cat
on cat.category_code = p.category_code
Sie zu LEFT JOIN
mit sich selbst brauchen.
SELECT
T.categroy_name,
COALESCE(Parent.category_name, '') AS 'parent category'
FROM
Tbl T LEFT JOIN
Tbl Parent ON T.parent_code = Parent.categrory_code
Ihre erwartete Ausgabe verursacht Verwirrung. Ich dachte, du erwartest das folgende Format als Ausgabe.
DECLARE @CategoriesDetails TABLE (category_code INT, parent_code INT, category_name VARCHAR(100));
INSERT INTO @CategoriesDetails (category_code, parent_code, category_name) VALUES
(1, 0, 'Food'),
(2, 1, 'Bakery'),
(3, 2, 'Snaks');
SELECT C1.category_name AS [Sub category],
ISNULL(C2.category_name, '') AS [Parent category]
FROM @CategoriesDetails C1
LEFT JOIN @CategoriesDetails C2 ON C2.category_code = C1.parent_code
Ausgang:
Sub category Parent category
--------------------------------
Food
Bakery Food
Snaks Bakery
einen Code enthalten, die zeigt, was Sie bisher versucht haben. –
@ Pooja-G Sie können nicht feststellen, ob meine Ausgabe richtig ist oder nicht. Ich habe hier nach dieser Ausgabe gefragt. Ich habe die Ausgabe selbst und ich habe unten veröffentlicht –