【发布时间】:2013-07-08 21:11:09
【问题描述】:
我有一张表 VOUCHER,带有 ID、USER_ID、APPROVED_ID...
USER_ID 和 APPROVED_ID 是引用另一个表 USER 上相同键“ID”的索引
USER 有 ID、NAME、SECLEVEL...
-
有些用户批准,有些用户制作凭证,如果我想打印带有ID,用户名和批准用户名的凭证。如何通过 SELECT 向用户引用不同的值?我正在尝试
SELECT VOUCHER.ID,VOUCHER.DESCRIPCION,USER.NAME AS NORMALUSER,USER.NAME AS APPROVINGUSER FROM VOUCHER JOIN USER ON VOUCHER.USER_ID=NORMALUSER
但我不知道如何在我的代码中获取批准用户的姓名。我希望我能很好地解释自己
【问题讨论】:
-
SELECT VOUCHER.ID,VOUCHER.DESCRIPCION,USER.NAME AS NORMALUSER,USER.NAME AS APPROVINGUSER FROM VOUCHER JOIN USER u ON VOUCHER.USER_ID=u.NORMALUSER JOIN USER a ON VOUCHER.USER_ID=a.NORMALUSE你可以给表加上别名并加入它两次 -
正如答案所说,你需要两个 JOIN,而你有一个。当卡住时,如果您花时间绘制模型,包括关系,当您缺少 JOIN 时会更加明显。铅笔和纸是被低估的解决问题的工具。
-
我被这些小东西弄疯了,谢谢大家
标签: mysql sql select join foreign-keys