Pomoc w zliczaniu z bazy ??

0

Witam mam takie zapytanie do bazy danych

$wynik3 = mysql_query('SELECT count(*) from zdarzenia, kupony WHERE uzytkownik_login = \''.$_SESSION['uzytkownik'].'\' AND data_kuponu >= "'.$od.'" AND data_kuponu <= "'.$do.'"') or die('Błąd w zapytaniu');

a taka baze danych



CREATE TABLE kupony (
  idkupony INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  uzytkownik_login VARCHAR(20) NOT NULL,
  data_kuponu DATE NULL,
  stawka DOUBLE NULL,
  bukmacher VARCHAR(45) NULL,
  ako DOUBLE NULL,
  rozliczenie VARCHAR(12) NULL,
  PRIMARY KEY(idkupony),
  foreign key(uzytkownik_login) references uzytkownik(login)
);


CREATE TABLE uzytkownik (
  login VARCHAR(20) NOT NULL,
  email VARCHAR(255) NULL,
  pass VARCHAR(45) NULL,
  imie VARCHAR(20) NULL,
  nazwisko VARCHAR(45) NULL,
  PRIMARY KEY(login)
);


CREATE TABLE zdarzenia (
  idzdarzenia INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  kupony_idkupony INTEGER UNSIGNED NOT NULL,
  zdarzenie VARCHAR(45) NULL,
  typ INTEGER UNSIGNED NULL,
  wynik VARCHAR(20) NULL,
  zal_nzal ENUM('tak', 'nie') NULL,
  kurs DOUBLE NULL,
  PRIMARY KEY(idzdarzenia),
  foreign key(kupony_idkupony) references kupony(idkupony)
);

wiem, że coś z zapytaniem jest nie tak, ale mam pytanko, jak zrobić żeby dla danego użytkownika w wybranej dacie zliczało mi wszystkie zdarzenia, które użytkownik postawił??

0

brakuje złączeń tabel?

jeżeli bierzesz dane z 2 tabel musisz je jakoś połączyć, czyli w tym przypadku w where dodajesz:
kupony_idkupony=idkupony

Moim zdaniem też login nie powinien być kluczem w tabeli, lepiej dodać coś ala użytkownik_id typu number, ale to tak tylko przy okazji, nie znam sie na mysqlu

0

nie lepiej zrobic coś w deseń

select count(*) from tabela1 inner join tabela2 on pole_z_1_tab = pole_z_2_tab where id_usera = $_SESSION ['cos']

??

1 użytkowników online, w tym zalogowanych: 0, gości: 1