Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: MySQL - Wyświetlanie różnicy z dwóch tabel
Forum PHP.pl > Forum > Bazy danych
fcppl
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
Wersja mini (3 ostatnie znaki zawsze) https://dev.mysql.com/doc/refman/8.0/en/str...#function_right
Wersja full SELECT SUBSTRING_INDEX('index.php?option=com_view=category&category_id=145', '=', -1);
fcppl
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
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
dziekuje za pomoc. Juz mi działa.
viking
http://sqlfiddle.com/#!9/04a21d0/1
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.
Invision Power Board © 2001-2024 Invision Power Services, Inc.