我将文件中的值复制到我创建的数据库的一个表中,以便用sql语言查询数据。 Db不是正常形式,我只是将值复制到字段中。事实上,首先,我将通过查询来检查数据是否具有相关性:在字段f1的相同值对应于每个记录相同的值f2。检查列中的值是否连贯地映射到另一列
它也可能发生f1的不同值与f2中的相同值相关联,这不是问题;很明显,如果检查在两个方向上都是正的(f1→f2和f2→f1),这意味着两个字段是一对一的。
实施例1
id | f1 | f2
1 | a | x
2 | b | y
3 | a | x
4 | c | x
在此示例1中的查询应该回答我TRUE(或类似的东西),因为在对应F1 f2的相等的值等于值。
实施例2
id | f1 | f2
1 | a | x
2 | b | y
3 | a | z
4 | c | x
在本实施例2的查询应该回答我FALSE(或类似的东西),因为在等于f1的值对应f2的不同的值。
实施例3
id | f1 | f2
1 | a | x
2 | b | y
3 | a | x
4 | c | z
在本实施例3的查询应该回答我在两个方向F1-> f2和[2-> F1 TRUE。
谢谢大家的帮助,我希望已经清楚,当然,我为我的坏英语道歉。
目前尚不清楚,至少没有给我。 '因为在第一个例子中,等于f1的值等于f2的等值,但在f1和f2之间根本没有相等的值,除非你在讨论f1和f2具有相同值的不同行。即便如此,您是否想要为所有数据或只是那些特定的行返回true还不清楚。请澄清。 –
谢谢您的评论,并对我的糟糕解释感到抱歉。 我试着做得更好: 请求:回答TRUE(或等效)当且仅当在表f1中相同值的表中的每个记录对应于字段f2中的相同值时。 示例2为False,因为在f1中存在两个具有相同值的记录,但在f2中具有不同值。 – Marco
如果你有这种情况:'a | x; ž| Y; ç|一个; a | c'如何知道等价是否在a与x或a与c之间?如果这没有关系,你将不得不检查每行与其他所有行,做一个交叉连接验证一行到另一个。 –