2015-07-20 9 views
-1

У меня есть данные в следующем формате в моей таблице в колонке A и B. КолонкаСравнение строк в SQL

Column A    Column B 
12345678XY   1111111 
12345678XYABCN00001 1111111 

Использование SQL, мне нужно, чтобы убедиться, что всякий раз, когда в двух строках в столбце А есть в вышеупомянутом формате столбец B должен иметь одинаковое число для каждого из них.

Может ли кто-нибудь помочь мне сравнить строки под колонкой А. Я не уверен, как подойти к этому !!!

+0

Ваш вопрос не совсем понятно, на самом деле, это даже не вопрос. Когда вы говорите «вышеупомянутый формат» - вы имеете в виду либо 8 цифр, за которыми следуют две буквы, либо 8 цифр, за которыми следуют 6 букв, а затем 5 цифр? Какие части значения будут отличаться в разных строках? Кроме того, вам нужно будет уточнить, что означает «я должен убедиться». Вам нужен запрос для сообщения о любых строках, нарушающих правило? Вам нужен способ предотвратить добавление строк, которые нарушают правило? Более подробная информация и примеры помогут нам помочь вам. – Turophile

+0

Привет, Турофил, извините, я не был ясен. Я имел в виду, что я сравниваю две записи, где первые 10 символов в первой записи точно совпадают с первыми 10 символами второй записи. Если это так, мне нужно выяснить, в столбце B у меня есть то же самое число для обеих этих записей. – Sarat

ответ

1

Вот запрос, который может помочь:

select * 
from Table1 AS T1 
inner join Table1 AS T2 
on left(T1.Column_A,10) = left(T2.Column_A,10) 
where T1.Column_B <> T2.Column_B 

Вы можете увидеть его работы здесь: http://sqlfiddle.com/#!6/129b1/1

+0

Огромное спасибо Turophile :) Я смог получить результат, который хотел. – Sarat

Смежные вопросы