Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Zapytanie pomijające duplikaty
dopal
post
Post #1





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

Ostrzeżenie: (0%)
-----


Witam,

Założmy, że mam taką tabelę,która nazywa się produkty:

id |owoc |kraj |ilosc
1 banan BRA 2
2 banan KOL 3
3 gruszka POL 5
4 wiśnia RUS 4
5 kiwi AUS 3
6 arbuz POL 2
7 jabłko SLO 5
8 jabłko UKR 4
itd....

Chodzi mi jak powinno wyglądać zapytanie by otrzymać tylko te wyniki, które się nie powtarzają po kolumnie owoc
czyli tylko te:

id |owoc |kraj |ilosc
3 gruszka POL 5
4 wiśnia RUS 4
5 kiwi AUS 3
6 arbuz POL 2

Tylko te owoce, które występują raz w tej tabeli.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mmmmmmm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


Zapytanie z zapytania. Podwójne grupowanie.
SELECT ... FROM (SELECT ... FROM ... GROUP ... HAVING ...) x GROUP BY ....
Go to the top of the page
+Quote Post
dopal
post
Post #3





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

Ostrzeżenie: (0%)
-----


Cytat(mmmmmmm @ 15.12.2012, 17:13:15 ) *
Zapytanie z zapytania. Podwójne grupowanie.
SELECT ... FROM (SELECT ... FROM ... GROUP ... HAVING ...) x GROUP BY ....

Nie bardzo rozumiem po FROM nie ma podanej tabeli? Co znaczy x?

Coś takiego?

  1.  
  2. $pytanie4="SELECT MAPJP1, COUNT(*) as iloscC FROM (SELECT MAPJP1, COUNT(*) as iloscC FROM MAGPOJ
  3. INNER JOIN USPOJ on MADNNR=UPDNNR
  4. WHERE
  5. MAPLIS Like '%{$_POST['kod']}%' AND MAPLIS=UPPLIS AND MASRPK = UPSRPK AND UPSRPK Like '%{$_POST['preparat']}%' AND MADNNR=UPDNNR AND MADNDT Between '".$czas1."' And '".$czas2."' GROUP BY UPDNNR HAVING COUNT(UPDNNR) = 1 ) MAGPOJ GROUP BY MAPJP1
  6.  
  7. ";
  8.  




Zrobiłem tak i działa.

  1. <?php
  2.  
  3. $pytanie4="SELECT MAPJP1, COUNT(*) as iloscC FROM (SELECT MAPLIS, MASRPK, MAPJP1, MAPJDW, MADNNR, MADNDT, MAPJIL, MAPJWG, MAPJTM, MAPJIJ, MAPJPO, MAISIP, UPPLIS , UPSRPK, UPDNNR, UPUSKD, UPUSDT
  4. FROM MAGPOJ, USPOJ
  5. WHERE MAPLIS Like '%{$_POST['kod']}%' AND MAPLIS=UPPLIS AND MASRPK = UPSRPK AND UPSRPK Like '%{$_POST['preparat']}%' AND MADNNR=UPDNNR AND MADNDT Between '".$czas1."' And '".$czas2."'
  6. AND UPDNNR IN (SELECT UPDNNR FROM USPOJ
  7. WHERE MAPLIS Like '%{$_POST['kod']}%' AND MAPLIS=UPPLIS AND MASRPK = UPSRPK AND UPSRPK Like '%{$_POST['preparat']}%' AND MADNNR=UPDNNR AND MADNDT Between '".$czas1."' And '".$czas2."'
  8. GROUP BY UPDNNR HAVING COUNT(UPDNNR) = 1 ) ) x GROUP BY MAPJP1";
  9.  
  10. ?>


Ewentualnie jeśli, ktoś ma inny pomysł to będę wdzięczny.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.10.2025 - 06:33