查找其他数据mysql的数据

时间:2017-04-04 12:34:42

标签: mysql database

我真的不知道如何从'impie'表中的“cognome”字段中找到'sede'表中的“via”字段。

CREATE TABLE IF NOT EXISTS `mydb`.`impiegato` (
  `codice` VARCHAR(45) NOT NULL,
  `cognome` VARCHAR(45),
  `nomedipart` VARCHAR(45),
  `sede` VARCHAR(45),
  `data` VARCHAR(45),
  PRIMARY KEY (`codice`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`sede`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`sede` (
  `cittaSede` VARCHAR(45) NOT NULL,
  `via` VARCHAR(45) NULL,
  `cap` VARCHAR(45) NULL,
  PRIMARY KEY (`cittaSede`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`dipartimento`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`dipartimento` (
  `nome` VARCHAR(45) NOT NULL,
  `cittaSede` VARCHAR(45) NOT NULL,
  `Telefono` VARCHAR(45),
  `codDirett` VARCHAR(45),
  INDEX `fk_dipartimento_idx` (`codDirett` ASC),
  PRIMARY KEY (`nome`),
  INDEX `fk_sede_idx` (`cittaSede` ASC),
  CONSTRAINT `fk_dipartimento`
    FOREIGN KEY (`codDirett`)
    REFERENCES `mydb`.`impiegato` (`codice`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_sede`
    FOREIGN KEY (`cittaSede`)
    REFERENCES `mydb`.`sede` (`cittaSede`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`progetto`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`progetto` (
  `nomeProgetto` VARCHAR(45) NOT NULL,
  `budget` VARCHAR(45),
  PRIMARY KEY (`nomeProgetto`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`partecipazione`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`partecipazione` (
  `codImpieg` VARCHAR(45) NOT NULL,
  `progetto` VARCHAR(45),
  PRIMARY KEY (`codImpieg`),
  INDEX `fk_progetto_idx` (`progetto` ASC),
  CONSTRAINT `fk_impiegato`
    FOREIGN KEY (`codImpieg`)
    REFERENCES `mydb`.`impiegato` (`codice`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_progetto`
    FOREIGN KEY (`progetto`)
    REFERENCES `mydb`.`progetto` (`nomeProgetto`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

1 个答案:

答案 0 :(得分:0)

您必须将impiegato行与所需的cognome匹配,sede中的行与sede值相同,这就是joins所做的:

select  via
from    sede s
join    impiegato i
on      s.sede = i.sede
where   i.cognome = 'desiredCognome'