我有三个不同表格的三个字段,我想加入。
公司来自公司, title FROM jobs, 描述FROM jobcategory
我想将这三个字段连接在一起并按顺序列在prvious字段的右侧,如下所示:
公司|标题|描述
这是我能提供的关于数据库密钥的最佳信息......
CREATE TABLE `company` (
`companyID` int(11) NOT NULL AUTO_INCREMENT,
`company` varchar(255) NOT NULL,
PRIMARY KEY (`companyID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=117 ;
CREATE TABLE `jobcategory` (
`JobCategoryID` int(11) NOT NULL AUTO_INCREMENT,
`CategoryName` text,
`Description` text,
PRIMARY KEY (`JobCategoryID`),
UNIQUE KEY `unique_JobCategoryID` (`JobCategoryID`),
KEY `index_JobCategoryID` (`JobCategoryID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
CREATE TABLE `jobs` (
`title` varchar(255) NOT NULL,
`company` varchar(255) NOT NULL,
`date` date NOT NULL,
`companyID` int(11) NOT NULL,
`jobCategoryID` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
我尝试运行下面评论的查询,但收到了以下错误。
"错误1054(42S22):未知栏' Company.ID'在" on条款'
执行此查询的正确语法是什么?
答案 0 :(得分:2)
取决于您的密钥的设置方式,但假设JOBS具有引用COMPANY和JOBCATEGORY表的外键:
SELECT COMPANY.COMPANY, JOBS.TITLE, JOBCATEGORY.DESCRIPTION<br>
FROM COMPANY
INNER JOIN JOBS ON COMPANY.ID=JOBS.COMPANY_ID
INNER JOIN JOBCATEGORY ON JOBCATEGORY.ID=JOBS.JOBCATEGORY_ID