【问题标题】:SQL Query Inner Join to get 2 itemsSQL查询内连接得到2个项目
【发布时间】:2015-05-25 04:41:55
【问题描述】:

在创建 INNER JOIN 查询方面需要您的帮助。

所以我目前有 3 个不同的表。

1. Tablename: Players (ID - PLAYER_NAME)
   Entry:              1    PLAYER_TEST 

-

2. Tablename: Maps (ID - MAP_NAME)
   Entry:           1  MAP_TEST

-

3. Tablename: Broken (ID - PLAYER_ID - MAP_ID)
                      1       1          1

我想执行一个查询,该查询将从表中选择 NAMEPlayersNAME 从表中:地图

这样我就能得到输出:

[PLAYERNAME:'PLAYER_TEST', MAP_NAME:'MAP_TEST']

我试过了:

SELECT players.name, maps.name, xyz FROM broken INNER JOIN players ON recentlybroken.player_id=players.id ORDER BY xyz DESC LIMIT 0,100

【问题讨论】:

  • 您没有在 FROM 子句中的任何地方指定 maps — 提示:酌情将其加入 broken
  • @eggyal 你能告诉我应该如何正确写吗?学习东西的最好方法是当你面前有正确的查询。
  • 实际上,学习东西的最好方法是自己去弄清楚。我几乎已经给了你答案......你至少可以尝试使用这些信息来改进你的查询,看看会发生什么!
  • @eggyal 好的,我只是试着用你的信息来改变它。

标签: mysql sql-server inner-join python-2.5


【解决方案1】:

我试试看:

SELECT pp.name, m.name, o.date,FROM broken AS o INNER JOIN players AS pp ON o.player_id  = pp.id INNER JOIN maps         AS  m ON m.map_id = o.id DESC LIMIT 0,100;

【讨论】:

  • 酷。这会给你想要的结果吗?
【解决方案2】:

你可以试试这个:

SELECT 
  players.players_name AS playerName,
  maps.map_name AS mapName
FROM players 
  LEFT JOIN broken ON broken.player_id=players.id 
  LEFT JOIN maps ON broken.map_id=maps.id 
ORDER BY columnname DESC 
LIMIT 0,100

【讨论】:

    猜你喜欢
    • 2017-10-19
    • 2016-03-29
    • 2015-06-21
    • 2013-07-06
    • 1970-01-01
    • 2020-09-13
    • 1970-01-01
    • 1970-01-01
    • 2015-01-27
    相关资源
    最近更新 更多