![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 74 Pomógł: 3 Dołączył: 15.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
![]() Pierwsza tabela battles, drugi images. Chcę wyciągnąć rekordy z images. Ale rekordy nie mają zawierać tych z WonID lub LostID. Czyli w przypadku user'a pierwszego nie powinno być takich rekordów. W przypadku user'a drugiego - 2. Problem w tym, że gdy je połączę i tworzę coś takiego: SELECT ImageID, Filename, Caption, Score, Won, Lost FROM images, battles WHERE LostID <> ImageID AND WonID <> ImageID AND UserID = "1"; Wynik: ![]() W wyniku nie powinien zostać wyświetlony żaden rekord, ale niestety nie mam pojęcia jak to zrobić. Pomoże ktoś? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nie napisałeś jak te tabele są połączone, można tylko zgadywać, że WonID oraz LostID oznaczają id obrazków.
W takim wypadku najpierw trzeba znaleźć id obrazków danego usera (to co w nawiasie), a potem odjąć to co dostaniesz od całej tabeli images. Jako że w mysql nie ma operatora MINUS to radzimy sobie kombinacją LEFT JOIN i IS NULL, a z listy obrazków dla usera wystarczą nam same id.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 20:38 |