SQL Like条件

时间:2013-07-14 22:59:55

标签: sql sql-server-2008-r2 sql-server-2012 sql-like

我有2个sql表 第一个表叫做已处理

relatedorders (type in nvarchar)
132,112,144,155
116,113
11,44,15,16

和第二个表叫做订单,看起来像

orderid (type int)
132
112
155
116

我想从订单表中选择orderid,其中orderid存在于已处理表格的相关订单中

我试过像

这样的东西
SELECT * 
FROM orders 
WHERE EXISTS(SELECT relatedorders 
             from processed 
             where orders.orderid  like %relatedorders %)

但它似乎不能正常工作,我做错了什么?

1 个答案:

答案 0 :(得分:3)

对此进行建模的正确方法是通过 join 表实现一对多关系。添加另一个表,可能称为ProcessedRelatedOrders,其中包含订单的ID和相关订单的ID,每个关系一行。你可能会想要。使用两列作为主键。主键上的索引应允许快速查找已处理订单的连接。