Visualizzazione dei risultati da 1 a 10 su 12

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Fossi in te non cercherei di mettere un controllo. Ecco perché.

    Con il tuo sistema devi, per ritrovare tutti gli amici di 13, mettere : mittente = 13 or destinatario = 13. Il che se hai moltissimi record non sarà ottimo.
    Mentre se non fai controlli visto che hai un indice sul mittente la lettura dei dati sarà quella giusta.

    Sempre con il tuo sistema per ricavare gli amici di 13 dovrai rendere più complessa la query:
    select case when mittente = 13 then destinatario else mittente end as amici
    from tabella where mittente = 13 or destinatario = 13

    Mentre con l'altro :
    select destinatario from tabella where mittente = 13 or destinatario = 13
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  2. #2
    In pratica ho fatto una cosa simile.
    Se voglio sapere tutti gli amici di 13 faccio così:

    Select IdUtente
    From tbAmici
    Where idMittente = 13
    UNION
    Select Nome
    From tbAmici
    Where idDestinatario = 13

    In questo modo ho tutte le richieste inviate e ricevute da 13 (vabbè la query è una join ma il concetto della UNION è questo!)

    Mi sembrava molto intuitivo, pensi che non vada bene?
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.