Mam problem z następującym zapytaniu SQL i MySQLSQL SELECT WHERE NOT IN z zapytaniem samym stole
SELECT
id, cpid, label, cpdatetime
FROM
mytable AS a
WHERE
id NOT IN
(
SELECT
id
FROM
mytable AS b
WHERE
a.label = b.label
AND
a.cpdatetime > b.cpdatetime
)
AND
label LIKE 'CB%'
AND
cpid LIKE :cpid
GROUP BY label
ORDER BY cpdatetime ASC
tabela wygląda tak
1 | 170.1 | CB55 | 2013-01-01 00:00:01
2 | 135.5 | CB55 | 2013-01-01 00:00:02
3 | 135.6 | CB59 | 2013-01-01 00:00:03
4 | 135.5 | CM43 | 2013-01-01 00:00:04
5 | 135.5 | CB46 | 2013-01-01 00:00:05
6 | 135.7 | CB46 | 2013-01-01 00:00:06
7 | 170.2 | CB46 | 2013-01-01 00:00:07
Chciałbym wrócić do mojego zapytania
3 | 135.6 | CB59
5 | 135.5 | CB46
Edit
Etykiety to psy/koty, a cpid to tymczasowe rodziny trzymające psy/koty.
Psy/koty przenoszą się z rodziny do rodziny.
Muszę znaleźć psy/koty, którzy byli w: userinput rodziny, ale tylko wtedy, gdy nie były one w innej rodzinie wcześniej
nie może zmienić bazę danych i po prostu trzeba pracować z danymi, ponieważ są one i Nie jestem tym, który napisał schemat aplikacji/bazy danych.
Wystąpiły jakiekolwiek błędy? – Sir
Nie przepraszaj - to dobrze napisane pytanie w porównaniu do innych, w których informacje o nagrodach są dostępne za pomocą śrub z pokrętłem. –
Przepraszam, czy mógłbyś wyjaśnić, dlaczego nie powinien on powrócić do wiersza 1? Czy ': cpid = '13% '' może? –