从不具有相同列数的两个不同表中选择数据

时间:2017-09-01 15:17:21

标签: sql

我已经多次搜索过一种方法来做我想做但却找不到的东西。我知道我必须使用JOIN或UNION来完成它,但我是SQL的新手,并且很难理解它是如何工作的。特别是整个依赖的东西。

这是我的挑战,我在我的数据库上有两个表(以及更多表),一个叫做玩家,另一个叫组织。

如果我理解正确的话,我在两个表中没有相同数量的列,也没有依赖关系。

在我的'播放器'表中,我需要列出以下列信息: id,device_id和user_id -

在我的“组织”表格中,我有一个名为 name 的列。

我想列出与给定“名称”相关的所有“ device_id ”条目。这是我尝试查询的内容:

select user_id, device_id from players 
join
select name from organizations where name like 'test';

棘手的部分是两个表上没有相同值的列。我的意思是,id或user_id存在于我的“组织”表中,但是一个条目的值将从一个表到另一个表不同。由于没有任何信息可以将条目链接在一起,我认为没有办法做到这一点,但我不是我所说的专家,所以也许你们有个主意。提前致谢。

1 个答案:

答案 0 :(得分:0)

首先,感谢大家提供惊人快速的答案。播放器表格中有超过20列。做

SELECT * FROM players LIMIT 1;

会导致一堆不完整的字符。由于它已经足够复杂,我决定不这样做。

@scaisEdge我认为通过这样做会有可能;从名为' test'等名称的玩家中选择device_id来自组织

现在我知道它不会起作用,因为这两个表之间没有任何关系。我希望我能拥有像 players.organization_id 这样的东西(我最初并没有对这些东西进行编程......)但是它没有这样,我会试着找到另一种方式。

@ADyson我希望有一个第三个表与组织'相关联。但是,我可能会遇到与玩家'再说不?有没有办法知道哪些表格与我正在处理的表格有关,如果有,哪一列确切地构成了这种关系?