![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 5 Dołączył: 22.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Posiadam 2 tabelki:
sprzedawcy (id INT, imię VARCHAR.............................) produkty (id INT, sprzedawca_id INT, itd) Chciałbym teraz jakimś poleceniem wyciągnąć sprzedawców, dołączając liczbę produktów jako kolejna kolumna (sprzedawcy.id == produkty.sprzedawca_id) 2. Szukam czegoś, co znajdzie najmniejszy wolny wynik z INT to znaczy jak mam 1 2 3 4 5 6 8 to da 7 a jak będzie 1 2 3 4 5 6 7 to da 8 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Kod SELECT s.id, s.imie, ... , p.ilosc FROM sprzedawcy AS s LEFT JOIN ( SELECT sprzedawca_id AS id, COUNT(*) AS ilosc FROM produkty GROUP BY sprzedawca_id ) AS p USING (id) 2. A po co Ci to? Pytam, bo najczęściel ludzie szukają czegoś takiego, żeby "łatać dziury" w kluczu głównym, czego nie należy w ogóle robić. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 19 Dołączył: 19.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
można nieco prościej
2. to znajdzie dziurę w numeracji albo kolejny najwyższy numer, minimum trzeba poszukać oddzielnym zapytaniem
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
można nieco prościej
Można, ale nie jest zgodne ze standardem i od wersji 5.1 MySQL na domyślnych ustawieniach rzuci błędem. http://dev.mysql.com/doc/refman/5.1/en/ser...y_full_group_by Ten post edytował Mchl 20.04.2010, 20:27:05 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 5 Dołączył: 22.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Już śmiga. ++
Ten post edytował peku33 22.04.2010, 12:54:16 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 03:17 |