|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
31.03.2010, 14:08 | #1 |
Пользователь
Регистрация: 07.05.2008
Сообщений: 38
|
Проблемы с запросом
Добрый день. Вопрос такой есть две таблицы: таблица1 имеет поля ID1 и ID2, таблица2 имеет поля ID2 и name. Есть запрос
Select name from таблица2 where id2 = (select id2 from таблица1 where id1=id1 ) Как нужно переписать запрос, что бы в случае, когда id2 пустое выводилось name тоже пустое. На данный момент запрос выводит только те name у кого есть id2. |
31.03.2010, 14:12 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Предположу что так:
Код:
I'm learning to live...
|
31.03.2010, 14:14 | #3 |
Редкий обитатель
Форумчанин
Регистрация: 08.04.2009
Сообщений: 170
|
ну так выводится потому что ты условие ставишь такое, что id2 есть
предлагаю такой вариант: Код:
потому что если во второй, тогда зачем id2 в первой и наоборот?
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
Последний раз редактировалось koma_grusha; 31.03.2010 в 14:18. |
31.03.2010, 14:29 | #4 |
Пользователь
Регистрация: 07.05.2008
Сообщений: 38
|
Id2 может быть пустым в таблице1, таблица2 является справочником имён, а нельзя допустим в самом запросе условие поставить какое нить?
|
31.03.2010, 14:34 | #5 |
Редкий обитатель
Форумчанин
Регистрация: 08.04.2009
Сообщений: 170
|
как я поняла вопрос: предположим у вас в таблице 1: ID1 = 1, ID2 = 0 (или Null), соответственно в таблице 2 нет записи с ID2 = 0
тогда по моему запросу у вас выйдет результат ID1 | ID2 | Name 1 | 0 | Null если хотите вместо Null просто '', то можно использовать Код:
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
|
31.03.2010, 15:10 | #6 |
Пользователь
Регистрация: 07.05.2008
Сообщений: 38
|
Чет я немного запутался, у меня большой запрос строк так в 20 и каждую нужно переписывать. а нельзя допустим в это условие where id2 = (select id2 from таблица1 where id1=id1 ) что ли-бо добавить, типо если id2 пустое то выводить name равное null?
|
31.03.2010, 15:24 | #7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
31.03.2010, 16:46 | #8 |
Пользователь
Регистрация: 07.05.2008
Сообщений: 38
|
Дело в том что, запрос у меня больше с несколькими условиями, выглядит примерно так
select T3.file, T2.name from T1, T3, T2 where T3.id = T1.id and T2.id = (select T1.id from T1 where T1.id=ID ) понимаю туплю но как переписать последнее условие? под мою задачу? пробовал join воткунть не робит. |
31.03.2010, 20:00 | #9 |
Пользователь
Регистрация: 07.05.2008
Сообщений: 38
|
Дошло как join пользоваться, но всё равно так как вы написали Stilet, записи отображаются не коректно. Одна и таже запись оображается несколько раз, все поля у неё идентичны, меняется у неё лишь name как это исправить? подскажите пожалуйста
|
31.03.2010, 20:21 | #10 |
Редкий обитатель
Форумчанин
Регистрация: 08.04.2009
Сообщений: 170
|
я просто одного не пойму, смысл такого запроса
Код:
Код:
потому что явно твои запрос некорректен, но не пойму в какую сторону тебе надо ее исправить
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблемы с POST запросом через cURL | LonRv | PHP | 0 | 28.12.2009 17:56 |
Сложности с запросом | Kolik317 | БД в Delphi | 5 | 19.08.2009 12:09 |
Проблемы с POST запросом... | JustKurt | Работа с сетью в Delphi | 1 | 26.07.2009 01:02 |
Проблема c запросом! | SatS | SQL, базы данных | 6 | 24.01.2009 22:52 |
BETWEEN и LIKE одним запросом | Pinya | SQL, базы данных | 9 | 19.08.2008 11:30 |