SQL - Problem

resoucer

Gesperrt
ID: 77379
L
20 April 2006
2.846
109
Hi, also ich suche den passenden SQL code für folgende Bedingung

Tabelle
paidbanner
paidbanner_reload
-----------------
paidbanner_reload
:arrow: mitglieder_id
:arrow: paidbanner_id
:arrow: reload_bis

paidbanner
:arrow: id

Jetzt habe ich schon sowas versucht wie:

PHP:
select paidbanner.id, paidbanner_reload.mitglieder_id from paidbanner,paidbanner_id where paidbanner.id !=paidbanner_reload.paidbanner_id AND paidbanner_reload.mitglieder_id= '$id'

klappt aber nicht wirklich

PS: :ugly:
Es sollen alle Paidbanner selected werden die nicht in der reloadsperre sind.
 
Zuletzt bearbeitet:
du hast also zwei tabellen...

und was willst du nun damit machen, dein statement scheint ja eben genau das nicht zu schaffen.. *glaskugel wieder wegpack*
 
was steht in "reload_bis" ?

bzw wonach richtest du die problematik ab wann man erst wieder etwas sehen darf.
 
Dürfte in etwa so aussehen:
Code:
SELECT id
FROM paidbanner AS pb
LEFT JOIN paidbanner_reload AS pbr ON (pb.id = pbr.paidbanner_id AND pbr.mitglieder_id = {$userid})
WHERE pbr.paidbanner_id IS NULL
 
Code:
SELECT paidbanner.id
FROM paidbanner
LEFT JOIN paidbanner_reload ON (paidbanner.id = paidbanner_reload.paidbanner_id AND paidbanner_reload.mitglieder_id= '$id' ) 
	WHERE paidbanner_reload.paidbanner_id is null

So sollte es gehen. ;)

edit: tleilax, ich find deine Lösung klasse. *g*

edit2: Unter der Bedingung, dass vorher alle Einträge mit reload_bis < now() gelöscht werden.

edit3: Denk an entsprechende Indexe, wenns viele User aushalten soll. ;)

Gruß, Zera
 
Dürfte in etwa so aussehen:
Code:
SELECT id
FROM paidbanner AS pb
LEFT JOIN paidbanner_reload AS pbr ON (pb.id = pbr.paidbanner_id AND pbr.mitglieder_id = {$userid})
WHERE pbr.paidbanner_id IS NULL

kommen irgendwie -1 raus
bzw. gibt
$klick_pb = mysql_num_rows($res3);
nix aus

EDIT: Column 'pbid' in field list is ambiguous
 
Zuletzt bearbeitet:
Dann schreib im Query bei den Spaltenangaben direkt nach dem SELECT noch den Tabellennamen davor - so wie in Zerafin's Post. Danach müsste es eigentlich klappen.