mysql - SQL中如何对一张表的一行使用多张表
问题描述
因此,对于我正在处理的项目,我有三个不同的表,每个表都保存单个对象的值。另一个表用于保存三个表中所有选择的值(不是全部!)。我不想为每个不同的表创建一个新列(如下图所示),我想要一个指定要使用哪个表的行,以便它可以使用它。所以基本上主表包含其他三个表中的一些相同值。
我做了一个模拟例子来帮助解释这个问题。我知道这有点蹩脚,但我希望你对发生的事情有所了解。
如果使用 MySQL 无法做到这一点,请告诉我任何更好的建议。谢谢
解决方案
根据图片,这些表没有任何指示绑定它们的位置。这将导致 Animal 表变得完全混乱JOIN
。但是,如果您只想拥有来自特定列的所有行的长列表(我认为 OP 实际上想要)使用UNION
Select Breed from Cats
UNION ALL
Select Species from Reptiles
UNION ALL
Select Type from Birds
这应该得到列表可能是你想要的。
推荐阅读
- javascript - 是的验证——确保一个数组至少包含一项
- google-sheets - 从引用的单元格更改单元格时,如何突出显示该单元格?
- content-management-system - Prestashop 1.7:使用 CMS 页面作为主页
- laravel - 在 Laravel Cashier-stripe 上动态更改货币
- javascript - 如果定义了元素,为什么我会得到 elem is not defined 错误?
- push-notification - 如何使 api 消息事件仅发送到 PUSHER 中的活动通道
- ajax - Firefox 浏览器中的阻止状态发送已更改的数据表单输入文件
- c++ - 使用 void 指针删除在堆中分配的变量是一件坏事吗?
- c# - 使用 C# LINQ 解析 XML 文档
- c++ - 提升属性树以解析自定义配置格式