当前位置: 首页 > 知识库问答 >
问题:

组合多个SQL表

韦鸣
2023-03-14

当用户登录到我的java应用程序时,我试图创建一个朋友列表。我有3张桌子,用户,朋友和歌曲。

用户表:

ID| USERNAME | DOB      |
:-| -------- | -------- |
1 | Ted      |01/01/1990|
2 | Jim      |02/03/1990|
3 | Bill     |03/03/1990|

好友表(ID=USER表中的ID)

USER_ID| FRIEND_ID |
:------| --------- |
1      | 2         |
2      | 1         |
1      | 3         |
3      | 1         |

歌曲表(同样ID=用户)

ID| ARTIST    | TITLE            |
:-| --------- | ---------------- |
2 | Queen     | We will rock you |
2 | KISS      | Crazy nights     |
2 | Aerosmith | Jaded            |

所以我需要做的是,当用户登录时,从朋友表中选择他们的所有朋友,获取关于这些朋友的所有信息,并选择属于该朋友的每首歌曲。

目前,我有一些sql将选择朋友和他们的信息正确,但我无法管理结合起来,这与获得的歌曲<理想情况下,我希望循环获取每个用户的详细信息(包括arraylist中的歌曲),然后创建用户对象的数组。

SQL我用来得到朋友:

SELECT Username, DOB, POB FROM USERS WHERE ID in (SELECT FRIEND_ID FROM 
ADMIN1.FRIENDSHIPS Where USER_ID in (Select ID FROM USERS WHERE USERNAME = ?

?=登录的用户。

共有2个答案

贺雅健
2023-03-14
 select u.ID,f.FRIEND_ID,fsong.ARTIST
  from user u 
 inner join friend f on u.ID=f.USER_ID
 left join user fsong on fsong.ID= f.FRIENDID
何涵衍
2023-03-14

您应该像这样使用连接:

SELECT * FROM users
LEFT JOIN friends ON friends.user_id = users.id
LEFT JOIN songs ON songs.id = friends.friend_id
WHERE users.id = ?

用户、朋友和歌曲是您的表名。

为什么离开加入?因为你不想删除没有朋友的用户,或者没有歌曲的朋友。

 类似资料:
  • 我是Apache GraphX的新手,我想看看是否可以在GraphX中进行图形合并/合并。我想做的是说我有下面的2个图

  • 我有一个elasticsearch索引用于存储关于人的信息。为了找到特定的人,我有一些查询,每个查询都单独工作,但是当我使用Bool查询将它们组合起来时,我会得到一个错误。 其中一个查询是对名称的模糊搜索 另一个查询用于搜索在特定日期范围内出生的人 现在我想组合这两个查询。我的bool查询: 虽然当我单独使用它们时,这两个查询都工作得很好,但当把它们组合起来时,我会得到一个错误。我的索引中有名字是

  • 这看起来很容易,但却不知道该怎么做。当前数组数据是按日期和日期列出的,因此我需要将所有日期组合起来:天、月、6个月、1年。我需要将数组数据排列为下面的第二个数组。

  • 可以合并多个共享Jenkins库吗? 例如,我有一个公共共享库:我的共享库(带有maven项目的git存储库)定义在包含一些作业的jenkins文件夹上。在该文件夹中运行的每个作业都可以使用Jenkins文件中的共享库,包括: 现在,我想创建另一个共享库:包含一些专门管道的my-专门化共享库(在另一个git存储库中,也作为maven项目)。我的专用共享库中的管道(groovy类、脚本等)应该能够使

  • 这是一道样题!千万不要在生产中这样做。在单独的容器中运行NGINX/PHP/OTHER服务! 和:

  • 我有以下代码: 现在我想再组合一个数组和中的它的值。这是foreach语句中的三个数组。谁能帮我把它加进去。比如我们如何在foreach语句中添加多个。 例如,我想要以下内容: 但是上面的代码给出了。我得到的错误是 分析错误:语法错误,在/homepages/4/d864452909/htdocs/public_html/app/index.php第58行中,意外的“=>”(T_DOUBLE_AR