SQLite - найти все данные и зависимые от них данные, на которые ссылается другая строка - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть одна очень большая таблица с количеством строк.Я хотел бы иметь возможность найти все данные и зависимые от них данные, на которые ссылаются в другой строке.

Я хотел бы знать, как получить все данные, содержащиеся в одной строке, на которые есть ссылки в другой строке,Например,

    Table:
    K_T     Doc_type    Doc_rule

    1       INVOICE1    This is a invoice
    1       INVOICE2    This is another invoice check
    1       INVOICE3    INVOICE1 & INVOICE2
    2       DEPO1       This is a deposit *()%^
    2       DEPO2       This is also a deposit && other stuff{} +more things
    2       ACC1        INVOICE1 & DEPO1
    2       ACC2        INVOICE3 & DEPO1 & DEPO2

Так что я хотел бы получить следующий вывод:

    1       INVOICE3    INVOICE1 & INVOICE2
    2       ACC1        INVOICE1 & DEPO1
    2       ACC2        INVOICE3 & DEPO1 & DEPO2

Я хотел бы иметь возможность выводить doc_types и зависимые от него doc_rules.Я попытался использовать самостоятельное соединение и левое соединение, но я не могу получить ни «лайк», ни «содержащий» для работы в операторе SQL на SQL lite.Вот пример того, что я пробовал.

    select t1.K_T, t1.doc_type, t2.doc_rule
    from Documents as t1
    inner join Documents as t2
    on t1.doc_type like t2.doc_rule
    group by t2.doc_type

Любой вклад будет оценен.

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Ваш вывод возвращается по этому запросу:

select t.*
from t
where doc_rule like '% & %';
0 голосов
/ 21 февраля 2019

Я считаю, что SELF JOIN - это то, что вам нужно (но, пожалуйста, исправьте меня, если я ошибаюсь)

Рекомендую заглянуть туда, чтобы понять, как работают само объединения в SQL-Lite: самостоятельное присоединение

...