首页 > 解决方案 > SQL innerjoin 将整数转换为文本

问题描述

我有一个SQL 数据库 directorydb,其中包含两个表:部门和人员。

部门

Department ID (INT, PK, auto-incrementing, deptID)
Name (VARCHAR(50), deptName) 
Phone Number (VARCHAR(20), deptPhone)
Email (VARCHAR(50), deptEmail)
Office Location (VARCHAR(100), deptOffice)

人员

Person ID (INT, PK, auto-incrementing, persID)
Email Address (VARCHAR(50), persEmail)
Password (VARCHAR (50), persPassword)
First Name (VARCHAR(50), persFName)
Last Name (VARCHAR(50), persLName)
Phone Number (VARCHAR(20), persPhone)
Office Location (VARCHAR(100), persOffice)
Department (INT, persDept)

我需要在PHP文件中列出 person 表中的所有人员,但我需要用部门表中的纯文本deptName替换persDept中的整数。

我很感激这方面的任何帮助!

标签: phpmysqlsql

解决方案


这是一个简单的连接。使用显式 INNER JOIN 语法:-

SELECT a.`Person ID`,
    a.`Email Address`,
    a.`Password`,
    a.`First Name`,
    a.`Last Name`,
    a.`Phone Number`,
    a.`Office Location`,
    b.`Name` AS deptName
FROM persons a
INNER JOIN departments b
ON a.Department = b.`Department ID`

推荐阅读