我有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对这个问题并不重要,因此这次我从表格中删除了它。