|
| Hente random SQL entry ud som ikke findes ~ Fra : Thomas Løjmann Jørge~ |
Dato : 22-07-04 14:01 |
|
Hej gruppe,
jeg har denne sql query
SELECT *
FROM sites
JOIN votes USING (sid)
WHERE (votes.sid <> sites.sid)
AND (votes.pid = '$pid')
ORDER BY RAND() LIMIT 0,1
det som jeg håbede den gjorde, var at hente et entry ud fra tabellen
sites som IKKE findes i votes hvor pid og sid er det samme.
Dog henter den intet ud selvom votes er tom og sites indeholder noget.
$pid ER sat.
Nogle som kan hjælpe?
/Thomas
| |
Tonni Aagesen (22-07-2004)
| Kommentar Fra : Tonni Aagesen |
Dato : 22-07-04 14:22 |
|
Thomas Løjmann Jørgensen wrote:
> jeg har denne sql query
Spørgsmål om database og SQL besvares bedst i news:dk.edb.database -
XFUT sat til denne gruppe.
--
Mvh
Tonni Aagesen
www.cazoo.dk
| |
Thomas Løjmann Jørge~ (22-07-2004)
| Kommentar Fra : Thomas Løjmann Jørge~ |
Dato : 22-07-04 14:37 |
|
On Thu, 22 Jul 2004 15:21:48 +0200, Tonni Aagesen <goto@dev.null>
wrote:
>Thomas Løjmann Jørgensen wrote:
>
>> jeg har denne sql query
>
>Spørgsmål om database og SQL besvares bedst i news:dk.edb.database -
>XFUT sat til denne gruppe.
Jeg glemte vidst at sige, at det var i forbindelse med PHP - så er
gruppen vidst rigtig nok. Beklager!
| |
Jacob Atzen (22-07-2004)
| Kommentar Fra : Jacob Atzen |
Dato : 22-07-04 14:44 |
|
Thomas Løjmann Jørgensen <lojmann@lojmann.dk> writes:
> Jeg glemte vidst at sige, at det var i forbindelse med PHP - så er
> gruppen vidst rigtig nok. Beklager!
Nej, dit spørgsmål har intet med PHP at gøre. Det kan godt være du
bruger den query i forbindelse med noget PHP, men dit spørgsmål går
udelukkende på SQL - og det hører hjemme i databasegruppen.
--
Med venlig hilsen
- Jacob Atzen
| |
Thomas Løjmann Jørge~ (22-07-2004)
| Kommentar Fra : Thomas Løjmann Jørge~ |
Dato : 22-07-04 22:02 |
|
Det som er mit problem er at jeg har 2 tabeller i min mysql database.
De relater til hinanden baseret på et felt som hedder "sid".
Jeg skal hente en tilfældig række ud af den ene tabel, men kun hvis
der i den anden tabel ikke er en række som indeholder samme "sid" samt
et "pid" som er sat via en session (php)
Jeg har pt.:
SELECT sitename, siteurl, sitebeskrivelse, sites.sid AS sid
FROM sites
LEFT JOIN votes ON (sites.sid=votes.sid)
WHERE votes.sid IS NULL
AND votes.pid = '$pid'
ORDER BY RAND() LIMIT 1
MEN den frasorter ALLE entrys i sites hvor der er en entry i votes med
samme sid, den bruger slet ikke pid til noget.... DET forstår jeg ikke
en krone af?
HJÆLP!
/Thomas
| |
Bent Stigsen (23-07-2004)
| Kommentar Fra : Bent Stigsen |
Dato : 23-07-04 02:33 |
|
Thomas Løjmann Jørgensen wrote:
> Det som er mit problem er at jeg har 2 tabeller i min mysql database.
>
> De relater til hinanden baseret på et felt som hedder "sid".
> Jeg skal hente en tilfældig række ud af den ene tabel, men kun hvis
> der i den anden tabel ikke er en række som indeholder samme "sid" samt
> et "pid" som er sat via en session (php)
>
> Jeg har pt.:
>
> SELECT sitename, siteurl, sitebeskrivelse, sites.sid AS sid
> FROM sites
> LEFT JOIN votes ON (sites.sid=votes.sid)
> WHERE votes.sid IS NULL
> AND votes.pid = '$pid'
> ORDER BY RAND() LIMIT 1
>
> MEN den frasorter ALLE entrys i sites hvor der er en entry i votes med
> samme sid, den bruger slet ikke pid til noget.... DET forstår jeg ikke
> en krone af?
Hvis "votes.sid IS NULL" er sandt, så vil "votes.pid = '$pid'" altid
være falsk. Så hele udtrykket vil altid være falsk, dvs. intet output.
Ikke helt sikker på jeg forstår betydningen af din pid. Er det noget i
den her stil du vil ha':
....LEFT JOIN votes ON (sites.sid=votes.sid) and votes.pid = '$pid'
WHERE votes.sid IS NULL...
Eventuelt post noget eksempel data og forventet output.
/Bent
| |
Thomas Løjmann Jørge~ (23-07-2004)
| Kommentar Fra : Thomas Løjmann Jørge~ |
Dato : 23-07-04 08:39 |
|
On Fri, 23 Jul 2004 03:33:27 +0200, Bent Stigsen <ngap@thevoid.dk>
wrote:
>Ikke helt sikker på jeg forstår betydningen af din pid. Er det noget i
>den her stil du vil ha':
>...LEFT JOIN votes ON (sites.sid=votes.sid) and votes.pid = '$pid'
>WHERE votes.sid IS NULL...
YES, der var den... Hvorfor fa'n jeg ikke lige har tænkt på det sådan
skal jeg ikke kunne sige, men det er jo logisk nok at den skal se
sådan ud...
Mange tak for hjælpen :)
/Thomas
| |
|
|