使用 "contains" 作为连接表的方式?
Using "contains" as a way to join tables?
table one 中的主键与 table 2 中一样使用,但被修改为所以:
table1中的主键列:123abc
table2中的列:123abc_1
即使用该键,然后添加 _1
以在 Table 2 的列中创建一个 唯一值 。
有什么方法可以 join
两个 table ,两列中的数据不相同但非常相似。我可以做类似的事情吗:
SELECT *
FROM TABLE1 INNER JOIN
TABLE2
ON TABLE1.COUMN1 contains TABLE2.COLUMN2;
即检查 Table 1 中的值 在 中 Table 2?
中的值
您只能检查column2的第一部分;例如
SELECT *
FROM TABLE1 INNER JOIN TABLE2
ON INSTR(COLUMN2, COLUMN1) = 1
或
ON COLUMN2 LIKE COLUMN1 || '%'
然而,以这种方式保存外键可能真的很危险,更不用说在大型数据库上的性能了。
你最好在Table2中使用不同的列来存储Table1的键,甚至添加一个约束。
table one 中的主键与 table 2 中一样使用,但被修改为所以:
table1中的主键列:123abc
table2中的列:123abc_1
即使用该键,然后添加 _1
以在 Table 2 的列中创建一个 唯一值 。
有什么方法可以 join
两个 table ,两列中的数据不相同但非常相似。我可以做类似的事情吗:
SELECT *
FROM TABLE1 INNER JOIN
TABLE2
ON TABLE1.COUMN1 contains TABLE2.COLUMN2;
即检查 Table 1 中的值 在 中 Table 2?
中的值您只能检查column2的第一部分;例如
SELECT *
FROM TABLE1 INNER JOIN TABLE2
ON INSTR(COLUMN2, COLUMN1) = 1
或
ON COLUMN2 LIKE COLUMN1 || '%'
然而,以这种方式保存外键可能真的很危险,更不用说在大型数据库上的性能了。
你最好在Table2中使用不同的列来存储Table1的键,甚至添加一个约束。