我的数据库中有以下表格,它们将用户错误记录为日志,以便我可以看到谁出错并在什么时间出现。
日志,用户,错误类型和时间段。
用户包含,
id |名称
1大卫
2标记
3达伦郎
错误类型包含
id | typeoferror
1错误类型1
2错误类型2
3 errortype 3
时间段包含
id |期间
1月7日上午7点至11点
2上午11点 - 下午3点
3 3pm - 7pm
4晚7点至11点
和log contains
id |用户|日期|时间|员工| typeofmiss |时间段| dateoferror |笔记
1 | 1 | 1/1/15 | 11:23 | 2 | 2 | 3 | 15年1月1日|嗒嗒
我希望用户列和staff列都链接到users表和typeofmiss列以链接到errortype列和timeperiod列以链接到timeperiod表,这样当我运行查询时它会返回:
1 - David - 1/1/15 - 11:23 - Mark - errortype 2 - 3 pm - 11pm - 1/1/15 - blah
我设法让查询部分正常工作,但是我无法将来自users表的数据链接两次,即对于用户列和staff列,它为两列返回相同的名称。 有没有办法让这个工作,我必须得到数据,然后使用PHP或其他东西将数字更改为名称?
由于
答案 0 :(得分:0)
您需要对表进行别名,然后指定要选择的(别名)列。
SELECT
a.id, a.user, a.date, b.name AS user_name, c.name AS staff_name, d.typeoferror
FROM
log AS a
JOIN
users AS b ON a.user = b.id
JOIN
users AS c ON a.staff = c.id
JOIN
errortype d ON a.typeofmiss = d.id