MySQL SELECT 语句与 JOIN

标签 mysql join

我有一个有趣的 SQL 查询。

我有两张 table ;称为“DATA”和“DICT”。

DATA 表包含列标题。

DICT 表包含(作为行中的数据)DATA 表的列标题。

IOW:

数据具有列标题:

  • 代码
  • 描述
  • 博士
  • CR

DICT 有行

  • 代码
  • 描述

使用 MySQL SELECT 语句我可以:

SELECT column_name from information_schema.COLUMNS WHERE (table_name = "DATA");

返回列名称。

现在我希望实现的是一个 SELECT 语句(带有必要的 JOIN)来返回 DICT 表中排除的行(作为行)。

因此,根据示例:

我需要一个适当的 SELECT 语句来返回以下事实: DR 和 CR 不是 DICT 表中的行。

相信我,我已经尝试了很多逻辑组合,看来我可能由于“WHERE (table_name = "DATA")”部分而遇到问题。

谢谢

最佳答案

正如 Sloan Thrasher 所说,举个例子会很有帮助。也就是说,这就是您所追求的吗?

SELECT DISTINCT is1.column_name 
FROM information_schema.COLUMNS is1
LEFT JOIN DICT ON is1.table_schema = 'YourSchema' AND is1.table_name = "DATA" AND is1.column_name = DICT.column_name
WHERE DICT.column_name IS NULL
;

关于MySQL SELECT 语句与 JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44501397/

相关文章:

ruby-on-rails - rails 只加入那些所有成员都年满 18 岁的组

mysql - 更新(concat)错误 1111 (HY000) - 组函数的使用无效

powershell - 如何在管道中加入数组

php - 内容中显示的 html 标签

mysql - 获取查询结果,其中一列是另一表中某一列的条件总和

MySQL查询从第二个表中删除重复项

MySQL选择所有父数据和子数据(包括空值)

MySQL查询获取相关表的最后4条记录

mysql - 在 1 中优化许多 SQL 请求

php - 在 MySQL 查询中使用 PHP 变量