我將文件中的值複製到我創建的數據庫的一個表中,以便用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之間?如果這沒有關係,你將不得不檢查每行與其他所有行,做一個交叉連接驗證一行到另一個。 –