在php中显示数据

时间:2017-04-11 05:26:57

标签: php sql

我有两张桌子。 1.category2.product。其中我有一个共同的column,即categorycode。在product我插入了许多属于category的产品,但我希望在与categoryname对应的列中显示其categorycode

2 个答案:

答案 0 :(得分:1)

Select p.*, c.categoryname From product as p
Inner Join category as c ON c.categorycode = p.categorycode

答案 1 :(得分:1)

这是您案例的首选架构:

enter image description here

现在这是创建SQL:

CREATE TABLE `tblcategorycode` (
  `categoryid` int(11) NOT NULL AUTO_INCREMENT,
  `categorycode` varchar(45) NOT NULL,
  `categoryname` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`categoryid`),
  UNIQUE KEY `categorycode_UNIQUE` (`categorycode`)
);

CREATE TABLE `tblproductmaster` (
  `productid` int(11) NOT NULL AUTO_INCREMENT,
  `productcode` varchar(45) NOT NULL,
  `productname` varchar(45) DEFAULT NULL,
  `categoryid` int(11) NOT NULL,
  PRIMARY KEY (`productid`),
  UNIQUE KEY `productcode_UNIQUE` (`productcode`),
  KEY `fkk_idx` (`categoryid`),
  CONSTRAINT `fkk` FOREIGN KEY (`categoryid`) REFERENCES `tblcategorycode` (`categoryid`) ON DELETE NO ACTION ON UPDATE NO ACTION
);

如果你喜欢这个架构,那么使用这样的简单查询:

SELECT p.*, c.categoryname
FROM test.tblproductmaster p
INNER JOIN tblcategorycode c ON p.categoryid = c.categoryid;

你会得到你想要的东西。

但请确保categoryid列是2个表的链接部分,它必须包含父表和子表中的相同值