Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wykonalne? GROUP BY
starcodes
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 19.01.2007

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


Witam,
mam pewien problem z grupowaniem rekordów.

Na początek struktura tabeli:

  1. CREATE TABLE tabela(
  2. id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
  3. ident int,
  4. code char(48),
  5. name varchar(128))


Dane w tabeli:

  1. INSERT INTO tabela VALUES(NULL, '1', NULL, 'nazwa 1')
  2. INSERT INTO tabela VALUES(NULL, '1', NULL, 'nazwa 2')
  3. INSERT INTO tabela VALUES(NULL, '1', 'asCode', 'nazwa 3')
  4. INSERT INTO tabela VALUES(NULL, NULL, 'asCode', 'nazwa 4')
  5. INSERT INTO tabela VALUES(NULL, '2', NULL, 'nazwa 5')


Opis problemu:
Chcę pobrać rekordy w ten sposób aby zostały one pogrupowane według pola 'ident' i 'code', ale w taki sposób, aby jako jeden rekord zwrócone zostały rekordy 1,2,3 i 4, ponieważ rekord 1,2 mają taką samą wartość 'ident', rekord 2 i 3 mają taką samą wartość pola 'code', mają się również połączyć z rekordami 1 i 2, ponieważ mają jeden wspólny element (rekord 3 zawiera taki sam 'ident', co rekordy 1 i 2).

Da radę jakoś to zrobić za pomocą mySQL'a?

Wymodziłem coś takiego:

  1. SELECT `id`, `code` `name`, COUNT(DISTINCT `ident`) FROM `tabela` GROUP BY `code`

nie działa to tak jak powinno...

Najlepiej jakby dawało się to zrobić poprzez
  1. GROUP BY ident,code

ale niestety nie da sad.gif

Ma ktoś jakiś pomysł jak coś takiego zrobić?
Z góry dzięki za pomoc...

Ten post edytował starcodes 20.01.2007, 12:40:39
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 19.08.2025 - 18:12