|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.12.2010, 09:03 | #1 |
Форумчанин
Регистрация: 04.08.2009
Сообщений: 101
|
Фильтр в запросе
Есть задачка:
select ID,(select field1 from table2 where table1.ID=table2.ID) name from table1 как фильтровать с поле name? Сделал так:select ID,(select field1 from table2 where table1.ID=table2.ID) name from table1 where name='Иван' выдает ошибку "Invalid column name 'name' " Заранее спасибо! |
09.12.2010, 09:17 | #2 |
Пользователь
Регистрация: 13.10.2010
Сообщений: 96
|
Код:
Ошибка "Invalid column name 'name' " вываливалась, т.к. в том запросе поля name не существовало, а было table2.field1
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (Стив Макконнелл)
|
09.12.2010, 09:56 | #3 |
Форумчанин
Регистрация: 04.08.2009
Сообщений: 101
|
Это правильно! но в случае отсутствие данных ID в таблице table2 данные table1 тоже не отображается. В моем случае нужно чтобы отобразились все данные в table1.
|
09.12.2010, 11:16 | #4 |
Форумчанин
Регистрация: 04.08.2009
Сообщений: 101
|
Спасибо сам нашел, использовал: LEFT OUTER JOIN
|
09.12.2010, 14:25 | #5 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
кстати да - не очень понятно зачем здесь фильтр - только для подтверждения что есть такой "наме"
а сам аутер_джойн тоже нужно уметь правильно написать хинт: условие фильтра лучше тоже запихать в условие джойна, а не в секцию where |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Символы в GET запросе | TzX | Работа с сетью в Delphi | 1 | 27.01.2010 17:27 |
Like в запросе | АлёнаP | Microsoft Office Access | 14 | 13.04.2009 21:35 |
автоинкремент в запросе | ГОСЕАН | БД в Delphi | 13 | 01.02.2008 16:12 |