Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 23

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Quote Originariamente inviata da sspintux Visualizza il messaggio
    ... i miei due centesimi;

    codice:
    SELECT COUNT(*) as visite FROM accessi LEFT JOIN (select * from sessioni WHERE sessioni.user_id='6') as q ON accessi.sessione_id=q.sessioni.id
    HTH
    Questa sintassi mi da errore
    Codice PHP:
     You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE sessioni.user_id='6' ) AS q ON accessi' at line 

  2. #2
    Quote Originariamente inviata da james Visualizza il messaggio
    Questa sintassi mi da errore
    Codice PHP:
     You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE sessioni.user_id='6' ) AS q ON accessi' at line 
    codice:
    SELECT COUNT(*)as visite FROM accessi
    INNER JOIN (select*from sessioni WHERE user_id='6')as q
    ON accessi.sessione_id=q.id
    ho cambiato anche left in inner ... altrimnti non mi sembra abbia senso

  3. #3
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Quote Originariamente inviata da sspintux Visualizza il messaggio
    codice:
    SELECT COUNT(*)as visite FROM accessi
    INNER JOIN (select*from sessioni WHERE user_id='6')as q
    ON accessi.sessione_id=q.id
    ho cambiato anche left in inner ... altrimnti non mi sembra abbia senso
    Ok scusa, pensavo non si potesse annidare una query dentro la Join, comunque così ottengo prestazioni peggiori addirittura, mentre sto scrivendo ancora non porta a termine la query...forse perché crea al volo un'estratto completo di sessioni, ma alla fine dei giochi sempre lo stesso numero di controlli fa no?!

  4. #4
    Quote Originariamente inviata da sspintux Visualizza il messaggio
    [code]
    ho cambiato anche left in inner ... altrimnti non mi sembra abbia senso


    appunto...

  5. #5
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Quote Originariamente inviata da optime Visualizza il messaggio
    appunto...[/COLOR][/LEFT]
    [/COLOR]
    sì avete perfettamente ragione...

  6. #6
    SELECT COUNT(*) as visite FROM accessi INNER JOIN sessioni ON accessi.sessione_id=sessioni.id AND sessioni.user_id='6'

  7. #7
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Quote Originariamente inviata da optime Visualizza il messaggio
    SELECT COUNT(*) as visite FROM accessi INNER JOIN sessioni ON accessi.sessione_id=sessioni.id AND sessioni.user_id='6'
    sì ok, provata ...ma stessi tempi

  8. #8
    se provi a usare una tabella temp ? tipo

    insert into TEMP SELECT sessioni.id from sessioni where sessioni.user_id='6'
    SELECT COUNT(*) as visite FROM accessi LEFT JOIN TEMP ON accessi.sessione_id=TEMP.id

    e poi, sei sicuro che vada bene la LEFT JOIN? non dovresti usare una INNER?


  9. #9
    Giusto per provare di tutto se non ti dispiace, sono il primo non convinto, quasi sicuramente è peggio tutte le soluzioni precedenti andavano meglio a prima vista però...

    SELECT COUNT(TAB.Visita) as visite
    FROM
    ( SELECT 1 AS Visita
    FROM accessi
    INNER JOIN sessioni ON accessi
    .sessione_id=sessioni.id
    WHERE sessioni
    .user_id='6'
    ) TAB

    Poi per completare il cerchio resterebbe solo la JOIN in WHERE ma anche qui non ci scommetterei un Euro migliori qualcosa:

    SELECT COUNT(*) AS Visite
    FROM accessi,
    sessioni
    WHERE accessi
    .sessione_id=sessioni.id
    AND sessioni
    .user_id='6'
    Se ti stai approcciando all'argomento database dai uno sguardo anche a: SQL, database relazionale, regole di Codd, modello E-R, forme normali, normalizzazione con il mio testo: Semplicemente Database

  10. #10
    SELECT COUNT(accessi.sessione_id) as visite FROM accessi INNER JOIN sessioni ON accessi.sessione_id=sessioni.id AND sessioni.user_id='6'

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.