Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Базы данных MySQL

  Все выпуски  

RFpro.ru: Базы данных MySQL


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Alexander Babich
Статус: Профессор
Рейтинг: 48
∙ повысить рейтинг »
PsySex
Статус: Профессионал
Рейтинг: 29
∙ повысить рейтинг »
Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 7
∙ повысить рейтинг »

∙ Базы данных

Номер выпуска:513
Дата выхода:07.10.2016, 12:45
Администратор рассылки:Коцюрбенко Алексей aka Жерар (Мастер-Эксперт)
Подписчиков / экспертов:15 / 9
Вопросов / ответов:3 / 11

Консультация # 73486: Уважаемые эксперты у меня к вам вопрос. Можно ли в ОДНОЙ БД обеденить две таблицы в запросе? Имя таблиц и имена полей в них взяты с потолка. Тоесть tbl1 и tbl2 в tbl1 есть поля event, perl, els в tbl2 есть поля asin, lone, love можно ли эти две таблицы обеденить запросом where tbl1.perl=tbl2.asin ?...
Консультация # 87630: Здравствуйте! Непойму в чем дело, раньше таких проблем небыло. Мне нужно создать таблицу в MySQL, в ней должно быть три поля. 1. data (TEXT) - текст 2. sub (VARCHAR) - тематика 3. id (VARCHAR) - автоинкремент, не ноль, уникальное. Проблемы с третим полем. Мне нужно чобы оно автоматически заполнялось при внесении данных в таб...
Консультация # 74433: Здравствуйте, уважаемые эксперты! Есть база данных - примерно 300 таблиц с содержимым... Структуру БД (именно этой, то есть, кто за что отвечает) плохо себе представляю... Управляется скриптом. Знаю, что при создании объектов, данные сохраняются в БД. Но таблиц ТАК много и они ТАКИЕ большие, что найти только что добавленные данные весьма пробле...

Консультация # 73486:

Уважаемые эксперты у меня к вам вопрос. Можно ли в ОДНОЙ БД обеденить две таблицы в запросе?
Имя таблиц и имена полей в них взяты с потолка.
Тоесть
tbl1 и tbl2
в tbl1 есть поля event, perl, els
в tbl2 есть поля asin, lone, love
можно ли эти две таблицы обеденить
запросом where tbl1.perl=tbl2.asin

?

Дата отправки: 31.01.2007, 16:42
Вопрос задал: Чинга
Всего ответов: 5
Страница онлайн-консультации »


Консультирует Архангельский Андрей Германови:

Здравствуйте, Чинга!

Нет проблем

Select t1.event, t1.els,t2.lone,t2.love
from tbl1 as t1, tbl2 as t2
where t1.perl=t2.asin

Возможны и более сложные объединения

Консультировал: Архангельский Андрей Германови
Дата отправки: 31.01.2007, 16:49
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует ~Steep~:

Здравствуйте, Чинга!

Можно, но необходимо чтобы у каждой таблицы были уникальные ключи
т.е. например tbl1.ID1, tbl2.ID2
Пример выборки некоторых столбцов из 2-х таблиц:

Select tbl1.event,
tbl1.els,
tbl2.asin,
tbl2.lone
From tbl1, tbl2
where tbl1.ID1=tbl2.ID2

или всех значений:

select * from tbl1, tbl2
where tbl1.ID1=tbl2.ID2

Консультировал: ~Steep~
Дата отправки: 31.01.2007, 17:03
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Mefisto:

Здравствуйте, Чинга!
Конечно можно:
SELECT * FROM tbl1,tbl2 WHERE tbl1.perl=tbl2.asin

Выведутся поля event, perl, els, asin, lone, love

Возможно я не совсем прав, там скорее всего надо через JOIN это делать.

Консультировал: Mefisto
Дата отправки: 31.01.2007, 17:17
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Базанов Иван Александрович:

Здравствуйте, Чинга!
Да. Например так:
SELECT tbl1.*, tbl2.*
FROM tbl1, tbl2
WHERE tbl1.perl=tbl2.asin
Или так
SELECT tbl1.*, tbl2.*
FROM tbl1
JOIN tbl2 ON tbl1.perl=tbl2.asin
Во многих случаях это одно и тоже...

Консультировал: Базанов Иван Александрович
Дата отправки: 31.01.2007, 18:02
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Grigory:

Здравствуйте, Чинга!
А что мешает-то? Объединяйте себе на здоровье smile Для того таблицы и создаются, чтоб их объединять (разумеется, в этом должен быть смысл :))

Консультировал: Grigory
Дата отправки: 31.01.2007, 18:11
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 87630:

Здравствуйте!
Непойму в чем дело, раньше таких проблем небыло.
Мне нужно создать таблицу в MySQL, в ней должно быть три поля.
1. data (TEXT) - текст
2. sub (VARCHAR) - тематика
3. id (VARCHAR) - автоинкремент, не ноль, уникальное.
Проблемы с третим полем. Мне нужно чобы оно автоматически заполнялось при внесении данных в таблицу. Пользуюст phpmyadmin - пишет "некорректно заданы параметры"

Что я делаю неправильно?

Дата отправки: 19.05.2007, 16:13
Вопрос задал: Valeraorg
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Устинов С.Е.:

Здравствуйте, Valeraorg!

Сделайте поле id типа INT и все будет нормально. VARCHAR это текстовое поле, и поэтому автоинкремент к нему неприменим.

Удачи!

Консультировал: Устинов С.Е.
Дата отправки: 19.05.2007, 16:24
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Виктор Пырлик:

Здравствуйте, Valeraorg!
"автоинкремент" - это для числовых, целочисленных полей, для символьных используется свойство "default".
VARCHAR - символьное поле

Консультировал: Виктор Пырлик
Дата отправки: 21.05.2007, 06:29
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 74433:

Здравствуйте, уважаемые эксперты!
Есть база данных - примерно 300 таблиц с содержимым... Структуру БД (именно этой, то есть, кто за что отвечает) плохо себе представляю... Управляется скриптом. Знаю, что при создании объектов, данные сохраняются в БД. Но таблиц ТАК много и они ТАКИЕ большие, что найти только что добавленные данные весьма проблематично и долго... Напрашивается простое решение проблемы: после каждого добавления делать запрос в БД по добавленном данным и таким образом определять таблицу, в которую были добавлены данные... Вся задача в том, какой запрос надо делать... Допустим, если я знаю, что только что добавил строку "string", то запрос должен быть вроде "SELECT "string" FROM "все таблицы". Но это, так сказать, образно... А как на самом деле должен выглядеть запрос....
Заранее спасибо!!

Дата отправки: 06.02.2007, 16:46
Вопрос задал: WolandV
Всего ответов: 4
Страница онлайн-консультации »


Консультирует Архангельский Андрей Германови:

Здравствуйте, WolandV!

1) Разоаботчика ЭТОЙ БД повесить за .....
2) Эти проблемы решаются при создании БД - другим способом нельзя.
3) Одним запросом выбрать строку из ВСЕХ таблиц нельзя, но как правило можно получить списой таблиц в БД и последовательно перебрать все таблицы:

Select * from Table1 where field="string";
Select * from Table2 where field="string";
....

В Firebird список таблиц лежит в таблице RDB$Relations, в других БД нужно искать что-нибудь подобное.
Следует учесть, что строка таблицы и строка поиска не одно и тоже. И часто при вставке текстовой строки в таблицу добавляется целое число (идентификатор) - как при этом искать?
Выход - проанализировать структуру БД и модернизировать, добавив протоколирование операций.

Консультировал: Архангельский Андрей Германови
Дата отправки: 06.02.2007, 17:22
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Игорь Елизаров:

Не, если Вы добавляете запись в таблицу, то это запрос INSERT a не SELECT
поэтому попробуйте найти именно это волшебное слово

Консультировал: Игорь Елизаров
Дата отправки: 06.02.2007, 20:51
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Химяк Виктор Васильевич:

Здравствуйте, WolandV!
Действительно с вопроса трудно понять, какая БД. Попробуйте воспользоваться таким вот инструментом: IBExpert. Если ваш сервер поддерживается этой программой, попробуйте включить протоколирование изменений. Прога русифицированная, бесплатная.
http://www.ibexpert.com/rus/

Консультировал: Химяк Виктор Васильевич
Дата отправки: 06.02.2007, 21:45
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Барков Илья Андреевич:

Здравствуйте, WolandV!
select table1.string,table2 from table1,table2 ... ( ... where table1.string="ASD")

или
select string from table1
union
select string from table2

Консультировал: Барков Илья Андреевич
Дата отправки: 06.02.2007, 23:30
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное