Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytanie modyfikujące i łączące wartości z 2 kolum
q3d
post 16.06.2017, 09:18:54
Post #1





Grupa: Zarejestrowani
Postów: 98
Pomógł: 7
Dołączył: 10.01.2006

Ostrzeżenie: (0%)
-----


W bazie mam dwie tabele. W jednej tabeli kluczem podstawowym jest wartość (ref), która w drugiej tabeli występuje łącznie w dwóch kolumnach (ref1 i ref2).

TABELA 1
ref
12340000|...

TABELA 2
ref1|ref2
1234|0|...


Dodatkowo problem jest taki że kolumnie ref2 TABELA 2 jest ciąg znaków o długości od 1 do 4 znaków gdy wartość w kolumnie ref TABELA 1 to wartość ref1 z TABELA 2 uzupełniona o wartość ref 2 z TABELA 2 ale zawsze o długości 4 znaków (jeżeli znaków brakuje uzupełniane są 0 (zerami) z lewej strony ciągu).

Chciałbym przy pomocy tylko MySQL pobrać z TABELA 2 ilość rekordów których nie ma w TABELA 1.

Jak sobie to rozpisałem teraz na forum i poszukałem w manualu to wychodzi mi coś takiego:

  1. SELECT count(1) AS count
  2. FROM tabela2 AS t2
  3. LEFT JOIN tabela1 AS t1 ON t1.ref = CONCAT(t2.ref1,'',LPAD(t2.ref2,4,'0'))
  4. WHERE t1.ref IS NULL



Ten post edytował q3d 16.06.2017, 09:28:10
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
trueblue
post 16.06.2017, 09:25:25
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Spróbuj:
  1. SELECT COUNT(t1.*) FROM tabela2 AS t2
  2. LEFT JOIN CONCAT(t2.ref1,LPAD(t2.ref2,4,'0')) ON t1.ref
  3. WHERE t1.ref IS NULL


--------------------
Go to the top of the page
+Quote Post
q3d
post 16.06.2017, 09:34:38
Post #3





Grupa: Zarejestrowani
Postów: 98
Pomógł: 7
Dołączył: 10.01.2006

Ostrzeżenie: (0%)
-----


Cytat(trueblue @ 16.06.2017, 08:25:25 ) *
Spróbuj:
  1. SELECT COUNT(t1.*) FROM tabela2 AS t2
  2. LEFT JOIN CONCAT(t2.ref1,LPAD(t2.ref2,4,'0')) ON t1.ref
  3. WHERE t1.ref IS NULL



Dziękuje. Bez wątpienia pomocne będą funkcje CONCAT i LPAD.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 04:48