OK, potrzebuję tu guru MySQL. Próbuję napisać zapytanie, które będzie służyć jako system powiadomień, gdy ktoś zostawi komentarz do przedmiotu, który wcześniej skomentowałeś. W tabeli „drinkComment” jest bardzo prosta:Podzapytanie MySQL z główną zmienną danych zapytania
commentID, userID, drinkID, datetime, comment
Pisałem kwerendę, która będzie uzyskać wszystkie komentarze na napoje, które już wcześniej skomentował (które nie są moje), ale będzie nadal wykazują komentarzy które wystąpiły PRZED moim komentarzem. To jest tak bliskie temu, co według mnie mogłoby zadziałać, ale tak nie jest. Proszę pomóż!
select @drinkID:=drinkComments.drinkID, commentID, drinkID, userID, comment, datetime
FROM drinkComments
WHERE `drinkID` IN
(select distinct drinkID from drinkComments where drinkComments.userID = 1)
AND drinkComments.dateTime > (
/*This gets the last date user commented on the main query's drinkID*/
select datetime FROM drinkComments WHERE drinkComments.userID = 1 AND drinkComments.drinkID = @drinkID ORDER BY datetime DESC LIMIT 1
)
ORDER BY datetime DESC
Bardzo ładne rozwiązanie! Działa i działa szybciej! Dzięki! – adamweeks
@AdamWeeks, staramy się oferować skuteczne rozwiązania, pomagając innym ... Zawsze możesz zmienić "sprawdzoną" odpowiedź, aby pomóc przyszłym ludziom w znalezieniu lepszego rozwiązania niż tylko pierwsze. – DRapp
+1 Świetny samouczek podkwerendy. Nie zdawałem sobie sprawy, że potrzebuję podzapytania w sekcji "OD", aby uzyskać dostęp do jego wyników w głównej kwerendzie – foochow