小编典典

一条语句中有两个选择语句

sql

我基本上有两个名为images和的表users。该images表具有以下字段:

i_id | s_id | u_id | name | filename |

u_id是表中u_id字段的外键users,其中包含以下字段:

u_id | username | password | email |

我正在运行这样的查询:

SELECT s_id, u_id, name, filename, filesize FROM images WHERE name = 'fYhWId'

u_id除其他事项外,这将返回用户的。但是我想返回用户的用户名,而不是他们的u_id。因此,基本上,在该SELECT语句中,我还想运行:

SELECT username FROM users WHERE u_id = 1

我可以为此使用两个查询,但是我试图减少我的应用程序运行的查询,而且我知道有一种方法可以将其组合成一个查询,但是我只是不知道:<

有人知道答案吗?谢谢!


阅读 127

收藏
2021-04-28

共1个答案

小编典典

SELECT username FROM users WHERE u_id = (SELECT TOP 1 u_id FROM images WHERE name = 'fYhWId')

或者

SELECT username FROM users WHERE u_id IN (SELECT u_id FROM images WHERE name = 'fYhWId')

或者

SELECT username,  s_id, images.u_id, name, filename, filesize 
FROM images 
INNER JOIN users on images.u_id = users.u_id
WHERE name = 'fYhWId'
2021-04-28