Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie modyfikujące i łączące wartości z 2 kolum
Forum PHP.pl > Forum > Bazy danych > MySQL
q3d
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

trueblue
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
q3d
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.
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-2025 Invision Power Services, Inc.