Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [Mysql] Clausula NOT IN / Exists

    Come si scrive una cosa del genere in my sql ?
    "select A.id from A where A.id not in ( select A.id from B ) "

    ho provato anche con exists ..ma non funge..


    Suggerimenti?
    Ciao e grazie

  2. #2
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093

    Re: [Mysql] Clausula NOT IN / Exists

    [supersaibal]Originariamente inviato da andrearistori
    Come si scrive una cosa del genere in my sql ?
    "select A.id from A where A.id not in ( select A.id from B ) "

    ho provato anche con exists ..ma non funge..


    Suggerimenti?
    Ciao e grazie [/supersaibal]
    le query annidate funzionano solo a partire da mysql4.1

  3. #3
    quindi come si risolve il problema ?
    ho cercato anche la Mitica MINUS che in ORAcle salva sempre il culo..
    invece manco quella..
    Devo estrarre la differenza fra due insiemi. possibile che non esista niente?

  4. #4
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    mi dispiace, a partire da mysql4.0 è stata aggiunta la union, ma la minus (except) e la intersect non ci sono ancora, neanche nella 4.1 da quanto mi risulta

    dovresti fare tutto a manina da programma

  5. #5
    VVoVe: grazie! ... adesso provo a fare due controlli a manina..
    ..mi dovrò creare qualche cazzo di funzione che lo faccia..
    greazie

  6. #6
    ho risolto così...bovino ma funziona..


    $res=mysql_query("select * from doc_ric ");
    $quanti=mysql_num_rows($res);

    for ($i=0;$i<=$quanti;$i++)
    {
    $res=mysql_query("select * from doc_ric where doc_ric='$i'");
    if (mysql_num_rows($res) == 0)
    {
    $res=mysql_query("delete * from doc_ric where doc_ric='$i'");
    }
    }

  7. #7
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    http://dev.mysql.com/doc/mysql/en/re...ubqueries.html

    SELECT * FROM t1 WHERE id NOT IN (SELECT id FROM t2);
    SELECT * FROM t1 WHERE NOT EXISTS (SELECT id FROM t2 WHERE t1.id=t2.id);

    Can be rewritten as:

    SELECT table1.* FROM table1 LEFT JOIN table2 ON table1.id=table2.id WHERE table2.id IS NULL;

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.