powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / не работает условие where
17 сообщений из 17, страница 1 из 1
не работает условие where
    #38913303
Famazon12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select *
from user u
where u.login in (select t.lo from userTest t);

почему-то не отрабатывает условие с вложенным запросом (отдельно запрос норм работает), если вручную значения подставлять то условие отрабатывает...

select *
from user u
where u.login in ('user1', 'user2');
...
Рейтинг: 0 / 0
не работает условие where
    #38913317
null?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Famazon12,

а так - where u.login in (select t.lo from userTest t where t.lo is not null);
...
Рейтинг: 0 / 0
не работает условие where
    #38913318
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Famazon12,

И что говорит ?
...
Рейтинг: 0 / 0
не работает условие where
    #38913331
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит "не отрабатывает"?

Покажите DDL обеих таблиц.
...
Рейтинг: 0 / 0
не работает условие where
    #38913357
Famazon12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имеется в виду пустой результат выводит, ну тип нет совпадений.

drop table userTest;
create temporary table userTest (lo varchar(100));


LOAD DATA INFILE 'c:/userss1.csv'
INTO TABLE userTest
LINES TERMINATED BY '\n';

select *
from user u
where u.login in (select t.lo from userTest t);


Две таблицы заполняются из двух CSV файлов.
Второй CSV такой же как и первый, только я удалил там пару строчек.
...
Рейтинг: 0 / 0
не работает условие where
    #38913380
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где DDL таблицы user?
...
Рейтинг: 0 / 0
не работает условие where
    #38913384
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И лучше для обеих - в форме SHOW CREATE TABLE.
...
Рейтинг: 0 / 0
не работает условие where
    #38913444
Famazon12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CREATE TABLE `user` (
`login` VARCHAR(100) NULL DEFAULT NULL,
`inUse` INT(11) NULL DEFAULT NULL
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;
...
Рейтинг: 0 / 0
не работает условие where
    #38913450
Famazon12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CREATE TEMPORARY TABLE `usertest` (
`lo` varchar(100) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
...
Рейтинг: 0 / 0
не работает условие where
    #38913477
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
-- твой код - первая таблица
mysql> CREATE TABLE `user` (
    ->  `login` VARCHAR(100) NULL DEFAULT NULL,
    ->  `inUse` INT(11) NULL DEFAULT NULL
    -> )
    -> COLLATE='utf8_general_ci'
    -> ENGINE=InnoDB
    -> ;
Query OK, 0 rows affected (2.26 sec)

-- твой код - вторая таблица
mysql> CREATE TEMPORARY TABLE `usertest` (
    ->  `lo` varchar(100) DEFAULT NULL
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
Query OK, 0 rows affected (0.27 sec)

-- произвольные значения
mysql> INSERT INTO user (login, inUse)
    -> SELECT 'user1',1 UNION ALL
    -> SELECT 'user2',0 UNION ALL
    -> SELECT 'user3',0 UNION ALL
    -> SELECT 'user4',1 ;
Query OK, 4 rows affected (0.28 sec)
Records: 4  Duplicates: 0  Warnings: 0

-- значения из первого постинга
mysql> INSERT INTO usertest (lo)
    -> SELECT 'user1' UNION ALL
    -> SELECT 'user2' ;
Query OK, 2 rows affected (0.02 sec)
Records: 2  Duplicates: 0  Warnings: 0

-- твой запрос
mysql> select *
    -> from user u
    -> where u.login in (select t.lo from userTest t);
+-------+-------+
| login | inUse |
+-------+-------+
| user1 |     1 |
| user2 |     0 |
+-------+-------+
2 rows in set (0.03 sec)


Работает, зараза...
...
Рейтинг: 0 / 0
не работает условие where
    #38913506
Famazon12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

Я понимаю, что должно работать :)

потому что когда вручную копипастом вставляю результаты запроса:

select t.lo from userTest t

user1
user2

в условие

select *
from user u
where u.login in ('user1', 'user2');

то работает:)

короче, магия какая-то......
...
Рейтинг: 0 / 0
не работает условие where
    #38913526
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так же, как я - покажи цитату с консоли. Оба SHOW CREATE TABLE, потом заполнение usertest данными и 2 запроса (литеральный и с подзапросом).
...
Рейтинг: 0 / 0
не работает условие where
    #38913572
Famazon12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

когда делаю как ты то работает

но когда заполняют таблицы через импорт из CSV то нет
...
Рейтинг: 0 / 0
не работает условие where
    #38913608
Famazon12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не понятно из-за чего не работало...

первую таблицу заполнял через импорт средствами HeidiSQ, вторую вручную запрос писал на импорт, когда обе таблицы заполнил вторым методом, то всё заработало....
...
Рейтинг: 0 / 0
не работает условие where
    #38913610
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Famazon12,

А покажите результат такого запроса:
Код: sql
1.
select t.lo from userTest t WHERE t.lo in ('user1', 'user2')
...
Рейтинг: 0 / 0
не работает условие where
    #38913624
Famazon12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

ничего не находит о_О
...
Рейтинг: 0 / 0
не работает условие where
    #38913631
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Famazon12miksoft,

ничего не находит о_ОТогда найдите нужные записи в userTest другим способом и покажите HEX(t.lo)
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / не работает условие where
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]