Mysql Abfrage für Profis

Fredyy

Grünschnabel
Hi,

Ich habe folgendes problem.
Ich habe 2 Tabelle nach dem folgenden Beispiel:

Code:
CREATE TABLE `penner_links` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `link` varchar(64) NOT NULL,
  `today` int(11) NOT NULL,
  `total` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1;

Und

Code:
CREATE TABLE `penner_clicks` (
  `id` int(11) NOT NULL auto_increment,
  `link` int(11) NOT NULL,
  `ip` varchar(255) character set utf8 collate utf8_bin NOT NULL,
  `time` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1;

Nun brauche ich eine Abfrage, die mir folgendes Ausgibt, penner_links.id und penner_links.link für den ersten daten satz, wo es keine reloadspeere für diese ip in penner_clicks gibt oder der time wert niedriger ist als der aktuelle timestamp.
wobei penner_clicks.link ein foreignkey von penner_links.id ist.

Mein Ansatz war bis jetzt:
PHP:
SELECT penner_links . * , penner_clicks . *
FROM penner_links
LEFT JOIN penner_clicks ON penner_links.id = penner_clicks.link
WHERE (
(
penner_clicks.id IS NULL
)
OR (
penner_clicks.time <".$time." AND penner_clicks.ip = '".$ip."')
)
AND penner_links.id >0
LIMIT 0 , 1;

Jedoch komme ich im Moment nicht weiter und hoffe auf eure Hilfe.

mfg
fredyy
 
Zurück