从另一个表中选择值-MySQL

时间:2018-10-29 17:12:10

标签: mysql

我有2个表“ srot_data”和“ vada”

CREATE TABLE `vada`
  (
     `id`    INT(10) NOT NULL,
     `cislo` INT(10) DEFAULT NULL,
     `popis` VARCHAR(50) DEFAULT NULL
  )
engine=innodb
DEFAULT charset=utf8;  

CREATE TABLE `srot_data`
   (
     `id`   INT(10) NOT NULL,
     `vada` INT(10) DEFAULT NULL
   );

INSERT INTO `srot_data` (`ID`, `Datum`, `ID_obsluha`, `Linka`, `Kontejner`, `Vada`, `m_srot`, `m_pres`, `blok`) VALUES (1, '2018-04-16 11:23:44', 21, 'EXMET2', 'ELDY-', 18, '27.500', '12.500', 1),(2, '2018-04-16 12:18:06', 21, 'EXMET2', 'ELDY-', 5, '1.000', '0.000', NULL);

INSERT INTO `vada` (`ID`, `Cislo`, `Popis`) VALUES(1, 1, 'Najíždění výroby(resp. nové elektrody)'),(2, 2, 'Expander - poškozená mřížka'),(3, 3, 'Olověný pás - koroze '),(4, 4, 'Olověný pás - potrhaná mřížka'),(5, 5, 'Pastovačka - nedopastované elektrody');

来自srot_data的Vada =来自vada的ID。而且我需要从餐桌瓦达(Vada)获取Popis。

我的sql是:

$sql = "SELECT count(blok) AS Total , 
               Vada AS vada 
        FROM srot_data 
        LEFT JOIN vada ON vada.Popis = srot_data.Vada 
        WHERE Linka = 'EXMET1' 
        GROUP BY vada 
        ORDER BY Total DESC limit 1";

但是它不起作用。我得到一个数字(来自表srot_data的vada)。但是没有从Popis(从表vada)获得文本值。

{"Total":"37", "vada":"5".}

我需要

    {"Total":"37", "vada":"Pastovačka - nedopastované elektrody".}

Linka和blok对这个问题并不重要,因此这次我从表格中删除了它。

0 个答案:

没有答案