powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / SELECT * FROM DB.COLUMN
20 сообщений из 20, страница 1 из 1
SELECT * FROM DB.COLUMN
    #39307671
anahaym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть база (5.5.49-0+deb8u1):

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
 SELECT * FROM TEST ;
+------+------+------+
| A    | B    | C    |
+------+------+------+
| 1    | 2    | 3    |
| 4    | 5    | 6    |
| 7    | 8    | 9    |
+------+------+------+
3 rows in set (0.00 sec)


хочу вывести все значения из колонки А. Можно сделать так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT A FROM TEST ;
+------+
| A    |
+------+
| 1    |
| 4    |
| 7    |
+------+


но надо ещё сделать так (и вроде так раньше работало)
Код: sql
1.
2.
SELECT * FROM TEST.A ;
ERROR 1146 (42S02): Table 'TEST.A' doesn't exist


почему надо именно так: был 100 % рабочий скрипт, который брал значения из одной таблицы, сравнивал со значением в другой таблице и писал в нужную колонку. Всё это работало пару месяцев, потом внезапно перестало. Стал разбираться - не видятся колонки из таблиц, если искать именно в таком формате.
Код: sql
1.
/* SQL Error (1054): Unknown column 'TEST.A' in 'where clause' */


Но вот тут написано , что можно использовать такой формат запроса:
Код: sql
1.
SELECT t1.name, t2.salary FROM employee AS t1, info AS t2 WHERE t1.name = t2.name;
...
Рейтинг: 0 / 0
SELECT * FROM DB.COLUMN
    #39307678
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуйте для начала выбрать базу
USE Test;
...
Рейтинг: 0 / 0
SELECT * FROM DB.COLUMN
    #39307684
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinovпопробуйте для начала выбрать базу
USE Test; глупость написал
формат FROM TEST.a означает базу TEST таблицу A поэтому ошибка
вы наверное вспомнили синаксис
SELECT Test.A FROM Test - так да, можно
...
Рейтинг: 0 / 0
SELECT * FROM DB.COLUMN
    #39307689
anahaym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex_Ustinov,
База называется DB, в ней таблица TEST, в ней колонки A B C:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
use DB
Database changed
mysql> SELECT TEST.A FROM Test;
ERROR 1146 (42S02): Table 'DB.Test' doesn't exist

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| DB                 |
+--------------------+
2 rows in set (0.00 sec)
...
Рейтинг: 0 / 0
SELECT * FROM DB.COLUMN
    #39307695
anahaym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
неправильно тему назвал:
SELECT * FROM TABLE .COLUMN - так правильнее.
...
Рейтинг: 0 / 0
SELECT * FROM DB.COLUMN
    #39307697
anahaym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
7.
mysql> SHOW TABLES;
+--------------+
| Tables_in_DB |
+--------------+
| TEST         |
+--------------+
1 row in set (0.00 sec)
...
Рейтинг: 0 / 0
SELECT * FROM DB.COLUMN
    #39307698
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну а
SHOW TABLES; ????
...
Рейтинг: 0 / 0
SELECT * FROM DB.COLUMN
    #39307701
anahaym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
выше написал.
похоже дело в регистре:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
mysql> SELECT TEST.A FROM TEST;
+------+
| A    |
+------+
| 1    |
| 4    |
| 7    |
+------+
3 rows in set (0.00 sec)
...
Рейтинг: 0 / 0
SELECT * FROM DB.COLUMN
    #39307703
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
опередили с ответом...)))
ну что сказать, нонсенс... может в слове TEST буковки не ве англицкие...
попробуйте в консоли скопировать из вывода и вставить в запрос
...
Рейтинг: 0 / 0
SELECT * FROM DB.COLUMN
    #39307710
anahaym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
anahaymно надо ещё сделать так (и вроде так раньше работало)
Код: sql
1.
2.
SELECT * FROM TEST.A ;
ERROR 1146 (42S02): Table 'TEST.A' doesn't exist


так. с этим понятно. ведь TEST.A - действительно не таблица, а колонка....
...
Рейтинг: 0 / 0
SELECT * FROM DB.COLUMN
    #39307713
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
anahaymвыше написал.
похоже дело в регистре:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
mysql> SELECT TEST.A FROM TEST;
+------+
| A    |
+------+
| 1    |
| 4    |
| 7    |
+------+
3 rows in set (0.00 sec)

в MySQL таблицы вроде регистронезависимы, а псевдонимы да
...
Рейтинг: 0 / 0
SELECT * FROM DB.COLUMN
    #39307735
anahaym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex_Ustinov , тогда такой вопрос.
есть база. в ней две таблицы:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
mysql> SELECT * FROM connections LIMIT 2;
+------------+----------+-------------+-------------+--------------+----------+
| Day        | Login    | Name        | VPN_IP      | Client_IP    | Country2 |
+------------+----------+-------------+-------------+--------------+----------+
      |06-08 | 21:38:40 | Name  Name  | 10.168.0.11 | XX.XXX.XXX.X |   
      |06-08 | 20:30:23 | Name  Name  | 10.168.0.11 | XX.XXX.XXX.X |   
+------------+----------+-------------+-------------+--------------+----------+
2 rows in set (0.00 sec)



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
mysql> SELECT * FROM IPs LIMIT 2;
+---------+-----------+---------+
| StartIP | EndIP     | Country |
+---------+-----------+---------+
     |0.0 | 1.0.0.255 | AU
     |1.0 | 1.0.3.255 | CN
+---------+-----------+---------+
2 rows in set (0.00 sec)



вот 100 % рабочий скрипт ( месяц назад всё работало!!! ):
Код: sql
1.
UPDATE connections SET connections.country2 = (SELECT IPs.country as country2 FROM IPs WHERE INET_ATON(connections.Client_IP) >= INET_ATON(IPs.StartIP) AND INET_ATON(connections.Client_IP) <= INET_ATON(IPs.EndIP) ) WHERE Client_IP=Client_IP AND COUNTRY2 = "";


смысл комады: брать значение Client_IP из таблицы connections, сравнивать его между StartIP и EndIP таблицы IPs, и записывать в Country2 значение из Country. Но сейчас выдаёт ошибку:
Код: sql
1.
ERROR 1242 (21000): Subquery returns more than 1 row
...
Рейтинг: 0 / 0
SELECT * FROM DB.COLUMN
    #39307763
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подзапрос возвращает более 1 записи.
Проверяйте селектом что там у вас и почему так
...
Рейтинг: 0 / 0
SELECT * FROM DB.COLUMN
    #39307764
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и вот это я не понял
WHERE Client_IP=Client_IP
...
Рейтинг: 0 / 0
SELECT * FROM DB.COLUMN
    #39307770
anahaym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
возвращаясь к поиску в колонках. Это работает:
Код: sql
1.
SELECT Country FROM `IPs` WHERE INET_ATON("192.168.10.1") >= INET_ATON(StartIP) AND INET_ATON("192.168.10.1") <=  INET_ATON(EndIp);


вот это работало:
Код: sql
1.
2.
3.
SELECT Country FROM `IPs` WHERE INET_ATON(connections.Client_IP) >= INET_ATON(StartIP) AND INET_ATON(connections.Client_IP) <=  INET_ATON(EndIp);
/* SQL Error (1054): Unknown column 'connections.Client_IP' in 'where clause' */
/* Affected rows: 0  Found rows: 0  Warnings: 0  Duration for 0 of 1 query: 0,000 sec. */


говорит неизвестная колонка? но она есть:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
mysql> SHOW COLUMNS from connections;
+-----------+--------------+------+-----+---------+-------+
| Field     | Type         | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| Day       | date         | NO   |     | NULL    |       |
| Login     | time         | NO   |     | NULL    |       |
| Name      | varchar(30)  | NO   |     | NULL    |       |
| VPN_IP    | varchar(15)  | NO   |     | NULL    |       |
| Client_IP | varchar(15)  | NO   |     | NULL    |       |
| Country2  | varchar(255) | NO   |     | NULL    |       |
+-----------+--------------+------+-----+---------+-------+
6 rows in set (0.00 sec)
...
Рейтинг: 0 / 0
SELECT * FROM DB.COLUMN
    #39307780
anahaym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex_Ustinovи вот это я не понял
WHERE Client_IP=Client_IP
да, это странная штука, но это надо чтобы занчения вставлялись только в соответвующие строки.
т.е. если ты взял А, сравнил, то и вставляй в А... а то было, что вставляет куда попало.
Alex_Ustinovподзапрос возвращает более 1 записи.
Проверяйте селектом что там у вас и почему так
выше написал запрос отдельного SELECT... он просто перестал работать (
...
Рейтинг: 0 / 0
SELECT * FROM DB.COLUMN
    #39307788
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
внутренний подзапрос не видит "внешней" таблицы
перепишите весь апдейт как
UPDATE connections, IPs
SET connections.country2
WHERE
...
Рейтинг: 0 / 0
SELECT * FROM DB.COLUMN
    #39307795
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот это работало...

такое может работать если добавить в секцию FROM таблицу
SELECT Country
FROM `IPs`, connections
WHERE INET_ATON(connections.Client_IP) >= INET_ATON(StartIP)
AND INET_ATON(connections.Client_IP) <= INET_ATON(EndIp);
...
Рейтинг: 0 / 0
SELECT * FROM DB.COLUMN
    #39307840
anahaym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex_Ustinov,
нашли проблему. два месяца назад в таблицу IPs я добавил новый ранг IP адресов... который так же в ходил в другой ранг...
по этому connections.Client_IP принадлежало двум рангам, и запрос не знал что сним делать....

я Алень...
...
Рейтинг: 0 / 0
SELECT * FROM DB.COLUMN
    #39307844
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все бывает, найденная ошибка это тоже положительный результат
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / SELECT * FROM DB.COLUMN
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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