mysql 多个外键查询_SQL,如何查询表中的多个外键?

我有一个项目表,其中有两个用户外键(user_id和winner_user_id),一个用于项目所有者,一个用于项目的获胜者.就像是

+----------------+-------------------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+----------------+-------------------------+------+-----+---------+----------------+

| project_id | int(10) unsigned | NO | PRI | NULL | auto_increment |

| start_time | datetime | NO | | NULL | |

| end_time | datetime | NO | | NULL | |

| title | varchar(60) | NO | | NULL | |

| description | varchar(1000) | NO | | NULL | |

| user_id | int(11) | NO | | NULL | |

| winner_user_id | int(10) unsigned | YES | | NULL | |

| type | enum('fixed','auction') | YES | | NULL | |

| budget | decimal(10,0) | YES | | NULL | |

+----------------+-------------------------+------+-----+---------+----------------+

现在我尝试在单个查询中获取有关项目和两个用户的数据的信息.

所以我制定了一个类似的查询

SELECT projects.project_id,projects.title,projects.start_time,projects.description,projects.user_id,projects.winner_user_id,users.username as owner,users.username as winner

FROM projects,users

WHERE projects.user_id=users.user_id

AND projects.winner_user_id=users.user_id

其中显然返回一个空集.真正的问题是如何引用这些不同的user_id.我甚至尝试使用AS关键字,然后使用我在同一个SQL查询中创建的名称,但显然这不起作用.

最后要说清楚我想要的东西

+------------+-------------------------------------------------+---------------------+---------+----------------+--------------+--------------+

| project_id | title | start_time | user_id | winner_user_id | owner | winner |

+------------+-------------------------------------------------+---------------------+---------+----------------+--------------+--------------+

| 1 | CSS HTML Tableless expert for site redesign | 2009-09-01 21:07:26 | 1 | 3 | mr X | mr Y |

| 2 | High Quality Ecommerce 3-Page Design HTML & CSS | 2009-09-01 21:10:04 | 1 | 0 | mr X | mr Z |

如何构造查询来处理这个问题?

提前致谢.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值