У меня есть 2 SQL таблицы первая таблица называется обработанная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 %)
но, похоже, он не работает должным образом, что я делаю неправильно?
Вы должны использовать таблицу соединений, не сохраняя значения в виде разделенного запятыми текста в одном столбце. Даже если бы это сработало, у вас возникнут проблемы с значениями, разделенными запятыми, так как, например, вы бы не соответствовали «1116», но должны соответствовать «116, ...», «..., 116, ... 'и' ..., 116'. – tvanfosson
@tvanfosson, поэтому нет простого способа сопоставления, отличного от отдельного стола? и о производительности будет ли отдельная таблица работать быстрее? – user2490355
Я думаю, что это будет быстрее во всех случаях, но с соответствующими индексами это будет * намного быстрее, так как вы не будете подвергать сканирование таблицы. – tvanfosson