tabel. Pierwsza tabela LEASE_LINES zawiera zbiór rekordów
które chcę wyświetlić na stronie. Drug tabela CLT_Log zawiera dane na temat tych rekordów, przy czym ich występowanie w tabeli CLT_Log jest opcjonalne, tzn. jeśli np. rekord z tabeli LEASE_LINES był wyświetlany przez użytkownika, do CLT_Log
została zapisana ta interakcja. Problem w tym że kwerenda zwraca wyniki dosyć chaotycznie. Docelowo chciałem aby wszytskie wyniki z tabeli LEASE_LINES były wyświetlane a dodatkowo jeśli są w tabeli CLT_Log (identyfikowane po id_rec) żeby były posiłkowane danymi z tej tabeli. Kwerenda wygląda tak:
SELECT * FROM LEASE_LINES LL LEFT JOIN CLT_Log LG ON LL.id_rec = LG.id_rec WHERE LG.id_pack = '5' AND LG.STATUS <> 'INTER' AND ( LG.id_log = ( SELECT max(G2.id_log) FROM LEASE_LINES L2 LEFT JOIN CLT_Log G2 USING(id_rec) WHERE G2.id_rec = LL.id_rec ) ) OR LG.id_rec IS NULL ORDER BY LL.id_rec ASC LIMIT 0, 30
dalczego select max - w tablei CLT_Log rekordy mogą być zdublowane, tzn jeden rekord z LEASE_LINES mógł mieć kilka interakcji, wybieram ostatnią.
i wyświetla wyniki które są w obu tabelach a czasami pojedyncze sztuki których nie ma w CLT_Log
struktury tabel:
mysql> SHOW FIELDS FROM `CLT_Log`; +----------+------------------+------+-----+---------+----------------+ | FIELD | Type | NULL | KEY | DEFAULT | Extra | +----------+------------------+------+-----+---------+----------------+ | id_log | int(11) UNSIGNED | | PRI | NULL | AUTO_INCREMENT | | id_pack | int(11) | | | 0 | | | id_user | int(11) | | MUL | 0 | | | id_table | int(11) | | MUL | 0 | | | id_rec | int(11) | | MUL | 0 | | | date_in | datetime | YES | | NULL | | | date_out | datetime | YES | | NULL | | | STATUS | varchar(255) | | | | | | substat | varchar(50) | | | | | | userinfo | text | | | | | +----------+------------------+------+-----+---------+----------------+ 10 rows IN SET (0.00 sec) [SQL]mysql> SHOW FIELDS FROM LEASE_LINES +----------------------+------------------+------+-----+---------+----------------+ | FIELD | Type | NULL | KEY | DEFAULT | Extra | +----------------------+------------------+------+-----+---------+----------------+ | id_rec | int(11) UNSIGNED | | PRI | NULL | AUTO_INCREMENT | | Nazwa_klienta | varchar(255) | | | | | | Adres_klienta | varchar(255) | | | | | | Oznaczenie_teczki | varchar(50) | | | | | | Edycja2 | varchar(50) | | | | | +----------------------+------------------+------+-----+---------+----------------+ 5 rows IN SET (0.00 sec)
proszę o pomoc, zaczynam wysiadać.