繁体   English   中英

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

[英]Select data from two different tables that dont have the same number of columns

我已经搜索了很多次要做自己想做的事但找不到任何东西的方法。 我知道我必须使用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存在于我的“ organizations ”表中,但一个条目的值将在一个表与另一个表中不同。 由于没有将这些条目链接在一起的信息,我想没有办法做到,但是我不是我所说的专家,所以也许你们有一个主意。 提前致谢。

首先,感谢大家的惊人回答。 玩家桌上有超过20列。 在做

SELECT * FROM players LIMIT 1;

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

@scaisEdge我认为这样做可以实现; 从组织中选择名称如“ test”的玩家中选择device_id

现在我知道它将无法工作,因为两个表之间没有关系。 我希望我会拥有一些类似于player.organization_id的东西(我最初没有对此程序进行编程...),但事实并非如此,我将尝试寻找另一种方法。

@ADyson我希望有一个与“ 组织 ”有关的第三张桌子,但是,我可能再遇到与“ 球员 ”建立关系的困难,不是吗? 有没有一种方法可以知道哪些表与我正在处理的表相关,如果知道的话,哪一列恰好构成了这种关系?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM