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

    [SQL] estrarre la differenza di valori tra due tabelle

    ciao a tutti, dopo molto tempo che non mi faccio vivo sul forum di html!!

    in breve...

    ho il db=mem
    e ho le tabelle abs=lista delle abilità (è una roba per giochi di ruolo dal vivo)
    e poi ho la abspg=dove voglio registrare le abilità di ogni singolo giocatore estraendo i valori dalla tb=abs

    Struttura della tabella `abs`
    --

    CREATE TABLE `abs` (
    `id` tinyint(9) NOT NULL auto_increment,
    `nomeab` varchar(25) NOT NULL default '',
    `costoabs` varchar(5) NOT NULL default '',
    `reqab` varchar(255) NOT NULL default '',
    `limab` varchar(255) NOT NULL default '',
    PRIMARY KEY (`id`),
    UNIQUE KEY `id` (`id`)


    Struttura della tabella `abspg`
    --

    CREATE TABLE `abspg` (
    `nomepg` varchar(50) NOT NULL default '',
    `ab` varchar(50) NOT NULL default '',
    `costoab` varchar(50) NOT NULL default ''


    ...tanto per essere più chiaro

    vorrei "semplicemente" estrarre i dati dalla tabella
    NOMEAB ecludendo quelli gia presenti nella AB in modo da poter avere una pagina che mi farà vedere le abilità acquistabili dal giocatore escudendo quelli già acquistati che si trovano della tabella AB.

    ho provato con con questo:
    SELECT nomeab
    FROM abs, abspg
    WHERE nomeab NOT IN (SELECT ab FROM abspg)

    ma non funziona.

    ...ecco, sono sicuro che si tratta di una cosa semplice, ma essendo un novizio nel php e mysql trovo molte difficoltà.

    ringrazio in anticipi per ogni eventuale risposta.

    p.s. perdonate gli errori grammaticali sono un extra...comunitario :-)
    Siamo soli, i geni sono tutti morti, ci hanno abbandonato alla nostra mediocrità.

  2. #2
    Se il db che usi supporta EXCEPT puoi fare:

    SELECT nomeab
    FROM abs
    EXCEPT
    SELECT ab
    FROM abspg


    in questo modo farai la sottrazione tra i due insiemi.
    vuoi giocare al fantacalcio gratis, solo per divertirti con tante altre persone? clicca su http://www.fantamagic.it

  3. #3

    e bravo..io

    chiedo scusa ma mi accorgo solo ora che la EXCEPT non è supportata

    in ogni caso un mio amico ma ha dato la soluzione:

    select nomeab from abs where nomeab not in (select ab from abspg)


    grazie cmq.

    ciaos
    Siamo soli, i geni sono tutti morti, ci hanno abbandonato alla nostra mediocrità.

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.