|
0 / 0 / 0
Регистрация: 05.03.2013
Сообщений: 4
|
||||||
Как связать 2 таблицы sql?06.03.2013, 00:49. Показов 2240. Ответов 11
Метки нет (Все метки)
Всем привет!
Я еще новичок, прошу проверить скрипт, главная таблица: а соединяю с таблицей: b, по общему признаку: art_nr, из второй таблицы мне нужны данная колонка Re_Text
0
|
||||||
| 06.03.2013, 00:49 | |
|
Ответы с готовыми решениями:
11
Как связать таблицы sql Как связать таблицы Как связать таблицы БД в Delphi? |
|
0 / 0 / 0
Регистрация: 05.03.2013
Сообщений: 8
|
|
| 06.03.2013, 00:55 | |
|
может быть где-то в одной из таблиц есть значение null и в запросе нужно это указать типа :
where x.art_nr is not null and ww.art_nr is not null
0
|
|
|
0 / 0 / 0
Регистрация: 05.03.2013
Сообщений: 4
|
|
| 06.03.2013, 01:07 [ТС] | |
|
спасибо за оперативный ответ, завтра на работе попробую..а глупый вопрос...что за значение null?
Добавлено через 5 минут kandy172, ты еще можешь подсказать?) спасибо большое заранее)
0
|
|
|
0 / 0 / 0
Регистрация: 05.03.2013
Сообщений: 8
|
|
| 06.03.2013, 01:38 | |
|
null - это где совсем нет никакого определенного значения
не ноль в числовых, не пусто в текстовых данных, ни даты никакой не установлено Если стоит null в поле, то база не понимает, с чем его сравнивать, значения еще нету и пропускает это
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 06.03.2013, 03:12 | |
|
Микро мастер класс (гуру не смотреть, не читать, не бить м.... об стол).
Нет никакой необходимости перегружать текст запроса алиасами (псевдонимами - заменой имен таблиц и их полей другими именами). Чем вам оригинальные имена таблиц и полей не угодили. Ничего хорошего из обильного применения алиасов не получается. Один разрдрай в тексте и непонятки. Да. Нет никакого сомнения, что применение алиасов необходимо. Например, когда нужно объединить данные из одной таблицы ("объединить таблицу саму с собой"). Есть и другие случаи. Но в приведенном запросе никакой необходимости в псевдонимах нет. Жизнь себе упрощайте, т.е. пытайтесь себя как разработчика БД уважать. А можно как-то оправдать (объяснить) чем вызвано обрамление алиасов полей кавычками (почему, к примеру, не коммерческим Аt)? Это мода такая или требование синтаксиса СУБД? Если в наименовании полей используются символы пробелов, то это моветон - у кенгуру (штатовских) пробелы в наименовании полей вне закона. Кстати, почему-то мало кто удосуживается объявлять о применяемой СУБД. Гадай, братва. А чаще всего это важно. Главное. Чем вызвано левое объединение таблиц? "из второй таблицы мне нужны данная колонка Re_Text". И всего то... А если так, то зачем функции sum? Автор что-то недоговаривает? И, все равно, чего здесь делает left join, когда в описанной ситуации достаточно inner join? Еще. Не забывайте, что в современных СУБД применение агрегатных функций требует перечисления в предложении group by всех полей, которые упомянуты в select. Увы. В принципе, это должно быть понятно по определению. Ведь по ним сервер СУБД пытается суммировать данные (в нашем случае, действительно, sum). А в select встречаются и еще какие-то поля. И что с ними делать? Какие данные из них брать для предоставления в выборке? Сервер в растеренности.
0
|
|
|
569 / 292 / 12
Регистрация: 28.01.2011
Сообщений: 1,326
|
|
| 06.03.2013, 06:22 | |
|
Скандербег, алиасы имеет смысл использовать еще в случаях длинных имен таблиц/вьюх сугубо для уменьшения объема кода. Так же когда запрос пишешь руками, а не собираешь конструктором.
В данном случае с учетом того что у одной таблицы имя "a", а у второй "b" конечно нет смысла. Так же при использовании алиаса стоит учитывать что код будет читать другой человек и что ему должно быть понятно по алиасу о какой таблице идет речь. Я использую первые буквы если имя из нескольких слов. Или согласные ибо если из слова убираются гласные, то читабельность текста не сильно страдает. Так же как и при переставлении букв в середине слова.
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 06.03.2013, 06:58 | |
|
Согласен.
Но в целом, алиасы - это препятствия в разработке БД, за исключением указанных выше случаев. Даже разработчики СУБД это поняли "в один прекрасный момент", когда ввели возможность указывать квалификаторы таблиц вместе с именами полей (и наступила ляпота). Можно же представить ситуацию, когда у вас есть 50 наименований и еще 50 псевдонимов этих самых наименований. Черт ногу сломит в этом многообразии имен (а что у вас никогда не было запросов с 50-ю наименованиями полей?; наверняка были; вопрос в сторону, конечно). И длинные имена - это тоже от лукавого (кто на что горазд).
0
|
|
|
569 / 292 / 12
Регистрация: 28.01.2011
Сообщений: 1,326
|
||
| 06.03.2013, 07:08 | ||
|
Чесно одновременно собирать данные из 50 таблиц не приходилось. Даже в бытность работы на сотовиков. Просто скорее не стоит злоупотреблять и просчитывать момент когда код становится трудно перевариваемым. Когда наступат момент, что через месяц тебе придется смотреть на собственный код и пытаться понять что тут написал "этот идиот". И за коким он это сделал именно так.
0
|
||
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 06.03.2013, 07:20 | |
|
Опять же, согласен. А куда от правды жизни денешься.
(насчет 50-ти - это я о наименованиях полей из разных таблиц, не о 50-ти таблицах, конечно)
0
|
|
|
569 / 292 / 12
Регистрация: 28.01.2011
Сообщений: 1,326
|
|
| 06.03.2013, 07:28 | |
|
А-а-а. Ну если о полях. Но у меня на поля нет привычки ставить алиасы. Да и как-то сторонник минимализма. Т.е. выбирать надо только те поля которые необходимы и не более.
0
|
|
|
0 / 0 / 0
Регистрация: 05.03.2013
Сообщений: 4
|
|||||||||||
| 06.03.2013, 10:46 [ТС] | |||||||||||
|
иии блиин все равно что-то не так, я уже group by добавила все поля и дописала null...но не выгружает
![]() ![]()
все равно не выгружается ...( добавила group by, unner, null.....но нет..((( ![]()
0
|
|||||||||||
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 06.03.2013, 10:48 | |
|
Ваша беда (на этом форуме, разумеется) в том, что никто из сочувствующих не подозревает о структуре таблиц в базе данных, о которой вы ведете речь. Даже о том какая это СУБД.
В этом случае никто (честно никто) не сможет ничего вам объяснить. Если, например, посмотреть форум на sql.ru, то там, помимо прочего, всегда просят дать скрипт создания таблиц (о том что сообщить какая СУБД используется даже вопроса нет - предполагается само собой). А иначе, как люди смогут в сложных случаях (ваш не исключение) определить чего у вас не получается. Надо же запустить скрипт чтобы понять трабл. Кстати, сходите на sql.ru.
1
|
|
| 06.03.2013, 10:48 | |
|
Помогаю со студенческими работами здесь
12
Как связать 2 таблицы в делфи
Как связать таблицы в дбгрид ? Как связать по полю 2 таблицы? Как связать 2 таблицы Парадокс7 в DatabaseDekstop Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|