AZHAR SAYYAD Ответов: 2

Как избежать дублирования данных в SQL


Здравствуйте, у меня есть таблица 4 differenct, из которой я переназначаю значение different value с помощью внешнего ключа. но проблема в том, что из-за внешнего ключа данные приходят в двух экземплярах, значит, это одни и те же данные.

Что я уже пробовал:

я также попробовал отдельное ключевое слово, чтобы избежать дублирования значения, но это не работает для меня
запрос есть

выбор пользователей.Наименование,пользователей.UserID, пользователи.Контакты, пользователи, фотографии, оплата.Плати,плати.Плати, плати.Скидка, оплата.Total_paid, плати.Balance_Remain, плати.Payment_Mode, плати.Payment_Type,платные.Payment_Describtion,пакет.Идентификатор пакета,пакет.Имя_пакета,пакет.Package_Duration,пакет.Package_Amount,суб.Параметра subscriptionid,суб.Package_Expire_Date,суб.Package_StartDate от tblUser как пользователи
внутреннее соединение tblPayment как платить
на пользователей.Идентификатор пользователя=платить.идентификатор пользователя
внутреннее соединение tblPackages as pack
на пачках.Идентификатор пакета=платить.Идентификатор пакета
внутреннее соединение tblSubscription как sub
на пользователей.Идентификатор пользователя=суб.Жидкости

David_Wimbley

Вам нужно опубликовать схему и некоторые примеры данных. Вы публикуете этот запрос так, как будто у нас есть доступ к вашей базе данных и мы можем запустить его сами. Единственное, что любой из нас может сделать прямо сейчас, - это догадаться, в чем заключается ваша проблема, которая является просто пустой тратой нашего и вашего времени.

Помогите себе, предоставив четкое объяснение вашей проблемы и предоставив нам возможность воспроизвести вашу проблему. Если кому-то захочется перепроектировать ваш запрос на схему, нам все равно понадобятся некоторые образцы данных.

У вас будут дубликаты данных в соединении, если у вас есть несколько элементов с одним и тем же ключом. Если это не то, что вы хотите, вам нужно либо переосмыслить то, что вы запрашиваете, либо переосмыслить свою схему.

2 Ответов

Рейтинг:
1

Wendelius

Обычно в соединении данные из Соединенных таблиц дублируются, но таким образом, что одна и та же комбинация присутствует только один раз (в зависимости от типа соединения). Что касается выполнения запросов, то это сделано специально, но, тем не менее, на общий результат влияют данные, которые у вас есть в таблицах.

Один из хороших способов понять соединения-это взглянуть на Визуальное представление SQL-соединений[^]


Рейтинг:
1

Ali Majed HA

Привет

если у вас есть дублированные данные в вашей таблице, то лучше разделить ее на 2 таблицы. Это называется нормализацией базы данных. полезный учебник-это :
StudytoNight.

например, если у вас есть fieldname : City дублированный на 1000 человек, вам лучше разделить таблицу

с уважением