![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 516 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam problem z konstrukcją zapytania SQL.
mam poniższy zestaw zapytań generujący mi tabelkę z wynikami, wszystko jest dobrze z małym ale.... może zaistnieć taka sytuacja że w tabeli tab2 nie ma nazwiska które jest w tabeli xx wtedy jest pomijane, próbowałem na różne sposoby, FULL JOIN, RIGHT JOIN wszystko na nic. Znalazłem gdzieś podobny przypadek gdzie zastosowano dodatkowo UNION, ale u mnie znów klops....
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
uf, jaśniej poproszę.
poproszę o strukturę tabel, zapytania w SQL nie w phpie (n i e c z y t e l n e ! ) przykład zwrotu - jasny opis problemu. j. edit: korekta. Ten post edytował alegorn 29.08.2012, 10:12:30 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 516 Pomógł: 1 Dołączył: 25.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Więc tak, mamy trzy tabele:
book, ksiega kasa (struktury poniżej), muszę wyłowić dane z tabelki KSIEGA pokazujące mi wartości umówmy się (masa * cena) - zwrot i tak dla każdego imie_nazwisko, którego w tabeli KSIEGA nie ma, ale pobieram go z tabeli BOOK poprzez lewostronne połączenie i spełnienie warunku ksiega.id_book=book.id_book. Następnie dołączam tabelę KASA bo w niej są inne rozliczenia i znów to łączę do poprzedniego wyniku lewostronnie przy spełnionym warunku imie_nazwisko=imie_nazwisko , które muszę zsumować z poprzedniego działania i to mi działa ładnie i pięknie. Problem pojawił się gdy w tabeli KSIEGA nie ma zapisów dla danej osoby a w tabeli KASA są ..... może coś wypatrzysz czego ja nie widziałem do tej pory.. -- -- Struktura tabeli dla ksiega -- CREATE TABLE ksiega ( id_ksiega int(10) NOT NULL auto_increment, id_book varchar(10) NOT NULL, nr_odst varchar(10) NOT NULL, masa varchar(10) NOT NULL, masa1 varchar(10) NOT NULL, masa2 varchar(10) NOT NULL, forma varchar(50) NOT NULL, forma1 varchar(50) NOT NULL, forma2 varchar(50) NOT NULL, przeznaczenie varchar(50) NOT NULL, przeznaczenie1 varchar(50) NOT NULL, przeznaczenie2 varchar(50) NOT NULL, cena text NOT NULL, cena1 text NOT NULL, cena2 text NOT NULL, zwrot text NOT NULL, zwrot1 text NOT NULL, zwrot2 text NOT NULL, waluta varchar(5) NOT NULL, waluta1 varchar(5) NOT NULL, waluta2 varchar(5) NOT NULL, PRIMARY KEY (id_ksiega) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; -- -- Struktura tabeli dla book -- CREATE TABLE book ( id_book int(10) NOT NULL auto_increment, imie_nazwisko varchar(50) collate utf8_polish_ci NOT NULL, anulowano varchar(1) collate utf8_polish_ci NOT NULL default 'N', info text collate utf8_polish_ci NOT NULL, data_wpisu datetime NOT NULL, PRIMARY KEY (id_book) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=1 ; -- Struktura tabeli dla kasa -- CREATE TABLE kasa ( id_kasa int(10) NOT NULL auto_increment, imie_nazwisko varchar(50) character set utf8 collate utf8_polish_ci NOT NULL, kwota decimal(10,2) NOT NULL, opis text character set utf8 collate utf8_polish_ci NOT NULL, data date NOT NULL, rodzaj varchar(2) character set utf8 collate utf8_polish_ci NOT NULL, nr_kasa varchar(10) character set utf8 collate utf8_polish_ci NOT NULL, PRIMARY KEY (id_kasa) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 00:17 |