У меня проблема с запросом в mysql. Я сделал 2 таблицы, таблицы1 и таблицу 2. В таблице 1 есть 2 строки данных, то же самое в таблице2, где у него есть 2 строки данных, и каждая таблица имеет 3 поля. В этом случае, я хочу, чтобы сделать вид, и это запрос:Это ошибка? Или ошибка? Или неправильный запрос?
create view point as select table2.field2 from table1, table2;
Я думаю, что он будет показывать данные в table2, где есть 2 строки данных. Но результат показывает 4 строки данных, где каждые 2 строки являются одними и теми же данными. Когда я пытаюсь удалить 1 строку в таблице1, ее средние данные удалить 1, и я попробую ввести запрос, как указано выше. Результат верен, и он показывает 2 строки данных в таблице2. Почему это правильно, когда в таблице 1 есть 1 строка данных, и didnt, когда table1 имеют 2 строки данных. Пожалуйста, как это решить? Или его неправильный запрос.
У вас нет условий соединения в разделе 'from' или' where'. По существу, то, что вы выполняете, является декартовым объединением, где строка будет отображаться для каждой строки в каждой другой таблице в вашем предложении 'from'. По сути, ваше видение - это 2 строки * 1 строки = 2 строки. 2 строки * 2 строки = 4 строки. Вам нужно добавить условие соединения для ваших таблиц, например, связывание первичного ключа с внешним ключом. – Rook
Спасибо прежде. Теперь я знаю, когда вы показываете счет, как ваш пример выше. Но на самом деле, у моих 2 таблиц нет никакого условия для связи. Я просто хочу принимать значения в таблицах2 и table1 с результатом в новом представлении всякий раз, когда это новое поле. Теперь я помню, что при использовании представления должно существовать соотношение между двумя таблицами и более. Слава Руке. –