我有一个有趣的SQL查询。
我有两张桌子;称为“DATA”和“DICT”。
DATA表包含列标题。
DICT表包含(作为行数据)DATA表的列标题。
IOW:
DATA有列标题:
DICT有
行使用MySQL SELECT语句我可以:
SELECT column_name from information_schema.COLUMNS WHERE (table_name = "DATA");
返回列名。
现在我希望实现的是一个SELECT语句(带有必要的JOIN)来返回DICT表中的ARE EXCLUDED行(作为行)。
所以,每个例子:
我需要一个合适的SELECT语句来返回JUST的事实 DR和CR不是DICT表中的行。
相信我,我尝试了很多逻辑组合,看来我可能会遇到问题,因为“WHERE(table_name =" DATA")”部分。
由于
答案 0 :(得分:0)
正如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
;
答案 1 :(得分:0)
SELECT column_name,dict.Item from information_schema.COLUMNS LEFT JOIN dict ON dict.Item = column_name WHERE(TABLE_NAME ='Data')and(dict.Item IS NULL);