Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407

    [MYSQL query] mi spiegate come funzionano gli alias?

    ciao, mi sà che stò facendo un pò (un bel pò) di confusione con gli alias.

    facciamo un esempio basilare:
    Codice PHP:
    CREATE TABLE IF NOT EXISTS `a` (
      `
    idint(11NOT NULL auto_increment,
      `
    colorevarchar(10) default NULL,
      
    PRIMARY KEY  (`id`)
    ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=;

    INSERT INTO `aVALUES(1'nero');
    INSERT INTO `aVALUES(2'blu');
    INSERT INTO `aVALUES(4'verde');

    CREATE TABLE IF NOT EXISTS `b` (
      `
    idint(11NOT NULL auto_increment,
      `
    idColoreint(11) default NULL,
      `
    formavarchar(10) default NULL,
      
    PRIMARY KEY  (`id`),
      
    KEY `idColore` (`idColore`)
    ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=;

    INSERT INTO `bVALUES(11'quadrato');
    INSERT INTO `bVALUES(22'triangolo');



    //esempio di query select
    SELECT
    a
    .colore AS myColore,
    b.forma AS myForma
    FROM a
    INNER JOIN b ON 
    (a.id b.idColore)
    WHERE myColore != 'nero' 
    la query mi restituisce sempre errore: "#1054 - Unknown column 'myColore' in 'where clause' "

    il mio dubbio è: sbaglio a utilizzare gli alias, o non posso usarli nella clausola where?
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  2. #2
    Utente di HTML.it L'avatar di echoweb
    Registrato dal
    Sep 2008
    Messaggi
    419
    Nella clausola WHERE non li puoi usare....


    "Non soffocare la tua ispirazione e la tua immaginazione,
    non diventare lo schiavo del tuo modello"

    Vincent van Gogh

  3. #3
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    Originariamente inviato da echoweb
    Nella clausola WHERE non li puoi usare....

    e allora, fondamentalmente, a che caspio servono!?
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  4. #4
    servono nel group by, nell'order by, nell'having ma soprattutto servono se recuperi i risultati con mysql_fetch_assoc (evitano la sovrapposizione di colonne con lo stesso nome)
    Armageddon - Chief Developer

    Stiamo cercando collaboratori!

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.