Article View: pl.comp.bazy-danych
Article #194688Najbliższa data z przyszłości lub z przeszłości
From: Leszek Zur
Date: Thu, 19 Nov 2015 22:53
Date: Thu, 19 Nov 2015 22:53
42 lines
2774 bytes
2774 bytes
MySQL. Mam 2 tabele: Firmy z polami id, Nazwa Kontakty z polami idfirmy, Osoba, Data W tabeli Kontakty zapisywane są kontakty z osobami z firmy wraz z datą kontaktu. Potrzebuję wyświetlić tabelę gdzie wyświetlona jest nazwa firmy (każda firma jeden raz nawet jak nie było z nią żadnych kontaktów albo było ich wiele), osoba i data kontaktu. Kontakt wybierany jest w ten sposób, że jeśli dla danej firmy są jakieś kontakty z datą z przyszłości (licząc od dzisiaj) to wybierany jest najbliższa data. Jeśli nie ma żadnych kontaktów z przyszłości to wybierany jest kontakt ostatni z przeszłości. Jeśli firma nie ma żadnych kontaktów to pola Osoba i Data powinny zostać puste. Na przykład mam taką tabelę Firmy: id Nazwa 1 FirmaA 2 FirmaB 3 FirmaC Oraz tabelę Kontakty: idfirmy Osoba Data 1 Adam 2016-10-25 1 Basia 2016-11-22 1 Kasia 2015-05-18 1 Zenek 2015-07-20 2 Franek 2015-02-25 2 Janek 2015-03-29 To powinienem dostać: Nazwa Osoba Data FirmaA Adam 2016-10-25 (najbliższa data z przyszłości) FirmaB Janek 2015-03-29 (ostatnia data z przeszłości) FirmaC (puste) (puste) Oczywiście jak to samo zapytanie wykonam w roku 2017 na tych samych danych to dla FirmaA zamiast Adama dostanę Basię. Zrobiłem to za pomocą 2 widoków - jeden pokazuje dla każdej firmy najbliższy kontakt z przyszłości a drugi ostatni kontakt z przeszłości i w php wyświetlam odpowiednia wartość. Ale pewnie można to zrobić w samym MySQL. Jak ? Pozdrawiam - Leszek
Technical Details
Message-ID:
<n2ljrj$vkr$1@news.vectranet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!takemy.news.telefonica.de!telefonica.de!ecngs!testfeeder.ecngs.de!81.171.118.62.MISMATCH!peer02.fr7!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!news.vectranet.pl!.POSTED!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!takemy.news.telefonica.de!telefonica.de!ecngs!testfeeder.ecngs.de!81.171.118.62.MISMATCH!peer02.fr7!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!news.vectranet.pl!.POSTED!not-for-mail From: Leszek Zur <USUNTO.leszek@teczowe.eu.org> Newsgroups: pl.comp.bazy-danych Subject: Najbliższa data z przyszłości lub z przeszłości Date: Thu, 19 Nov 2015 23:53:01 +0100 Organization: Vectra - http://www.vectra.pl Lines: 42 Message-ID: <n2ljrj$vkr$1@news.vectranet.pl> NNTP-Posting-Host: 078088121201.dzierzoniow.vectranet.pl Mime-Version: 1.0 X-Trace: news.vectranet.pl 1447973555 32411 78.88.121.201 (19 Nov 2015 22:52:35 GMT) X-Complaints-To: usenet@news.vectranet.pl NNTP-Posting-Date: Thu, 19 Nov 2015 22:52:35 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 X-Mozilla-News-Host: news://news.vectranet.pl:119 X-Received-Bytes: 2534 X-Received-Body-CRC: 2137078328 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit