Предполагая, что у меня есть таблица сервера SQL, который выглядит следующим образом:Как сравнить несколько строк из одной таблицы SQL
id valA valB valC
-----------------------
1 1 2 3
2 4 5 6
3 7 8 9
3 10 11 12
4 13 14 15
4 16 14 15
Я хочу, чтобы сравнить строки, чтобы найти те, с некоторым сопоставлением данных. В этом случае я хочу идентифицировать строки с совпадающими идентификаторами, valB и valC, поэтому он должен найти только последние две строки. Содержимое столбца valA игнорируется.
Затем я хочу удалить одну из двух строк, а затем отрегулирую столбцы valA при необходимости. Моя проблема заключается в определении совпадающих строк.
От многих других подобных вопросов на этом сайте, я пробовал различные вещи, подобные этим:
SELECT DISTINCT
A.id
FROM
newtable A
INNER JOIN
newtable B ON A.id = B.id
WHERE
A.valB = B.valB AND
A.valC = B.valC
, но я в конечном итоге получить все четыре идентификаторов. Я не знаю, почему. Даже если это сработало, я все еще не уверен, как приступить к обновлению и удалению действий, необходимых для поиска всех найденных совпадающих строк. Какие-либо предложения? Благодарю.
какой параметр вы пройдете? – KumarHarsh