fcppl
13.08.2020, 10:04:36
Mam dwie tabele. A i B
Tabela_A
Categori_ID | Category_Name
155 | Nazwa A
145 | Nazwa B
Tabela_B
ID | Title | Link
1 | Nazwa A | index.php?option=com_view=category&category_id=155
2 | Nazwa B | index.php?option=com_view=category&category_id=145
3 | Nazwa E | index.php?option=com_view=category&category_id=175
4 | Nazwa F | index.php?option=com_view=category&category_id=400
Chciałem zrobić tak żeby porównać te dwie tabele na podstawie kolumny Categori_ID i Link i wyświetlić różnice ( te które nie występują z Tabeli B ).
Problem mam taki że nie wiem jak to zrobić żebym mógł wyciągnąć z Tabeli B -> Link ID (to co jest pogrubione bo tam jest zapisane Categori_ID na samym końcu, a wcześniej znajduję się inny tekst).
Wynik powinien być taki że powinienem otrzymać różnicę więc:
3 | Nazwa E | index.php?option=com_view=category&category_id=175
4 | Nazwa F | index.php?option=com_view=category&category_id=400
Dziękuję z góry za pomoc.
viking
13.08.2020, 10:31:19
Wersja mini (3 ostatnie znaki zawsze)
https://dev.mysql.com/doc/refman/8.0/en/str...#function_rightWersja full SELECT SUBSTRING_INDEX('index.php?option=com_view=category&category_id=145', '=', -1);
fcppl
13.08.2020, 11:10:45
Mogę prosić o przykład zastosowania tej metody: Na ta chwile mam porównanie dwóch tabel i wyświetlanie różnic, ale nie wiem jak zastosować SUBSTRING_INDEX
Moje zapytanie:
SELECT DISTINCT Tabela_B.link , Tabela_B.Title
FROM Tabela_B
WHERE Tabela_B.link NOT IN (SELECT DISTINCT Tabela_A.Categori_ID
FROM Tabela_A)
trueblue
13.08.2020, 11:21:33
Zrób sobie LEFT JOIN na Categori_ID i tym co podał Ci viking,
czyli:
LEFT JOIN ON SUBSTRING_INDEX(Tabela_B.Link, '=', -1)=Tabela_A.Categori_ID
i warunek IS NULL na Tabela_A
fcppl
13.08.2020, 11:22:54
dziekuje za pomoc. Juz mi działa.
viking
13.08.2020, 11:25:58
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.