powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / select строки у которых одинаковые значения в разных столбцах
4 сообщений из 4, страница 1 из 1
select строки у которых одинаковые значения в разных столбцах
    #38679885
DeeZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть база, где хранятся vlan-ы. tagged, untagget - разные столбцы:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
CREATE TABLE vlans (
  `id` INT NOT NULL AUTO_INCREMENT,
  `vlanid` INT UNSIGNED NOT NULL,
  `NodeID` INT UNSIGNED NOT NULL,
  `InterfaceID_tagged` INT UNSIGNED,
  `InterfaceID_untag` INT UNSIGNED,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `id_UNIQUE` (`id` ASC));

INSERT INTO VLANs.vlans (vlanid, NodeID, InterfaceID_untag) VALUES ("693","1","1");
INSERT INTO VLANs.vlans (vlanid, NodeID, InterfaceID_tagged) VALUES ("693","1","10");

INSERT INTO VLANs.vlans (vlanid, NodeID, InterfaceID_tagged) VALUES ("694","1","1");
INSERT INTO VLANs.vlans (vlanid, NodeID, InterfaceID_untag)  VALUES ("694","1","2");
INSERT INTO VLANs.vlans (vlanid, NodeID, InterfaceID_tagged) VALUES ("694","1","10");


Результат примерно такой:
idvlanidNodeIDInterfaceID_taggedInterfaceID_untag16931126931103394114694125694110
Нужно выбрать строки у которых встречаются на одном порту ВЛАНы с тэгом и без (в примере это портID 1 (InterfaceID_tagged = InterfaceID_untag).
Как такое осуществить? это своего рода join таблицы саму в себя по условию InterfaceID_tagged = InterfaceID_untag.
Но "Error Code: 1066. Not unique table/alias: 'vlans'"

Либо (что более предпочтительно) найти только InteraceID-шники (в примере будет только цифра 1. Тк в соседней базе это ключ и он уникален, мне достаточно этого)
...
Рейтинг: 0 / 0
select строки у которых одинаковые значения в разных столбцах
    #38680044
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
select t1.*
from vlans t1, vlans t2
where t1.InterfaceID_tagged = t2.InterfaceID_untag
   or t2.InterfaceID_tagged = t1.InterfaceID_untag
...
Рейтинг: 0 / 0
select строки у которых одинаковые значения в разных столбцах
    #38680440
DeeZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Спасибо. Но получается очень много дублей. Например, если на коммутаторе 5 вланов, то будет 10 записей. причем вторая половина просто дубли:
idvlanidNodeIDInterfaceID_taggedInterfaceID_untag11 2 1 9 22 693 1 9 25 694 1 9 27 695 1 9 30 696 1 9 1 1 1 91 1 1 91 1 1 91 1 1 91 1 1 9
...
Рейтинг: 0 / 0
select строки у которых одинаковые значения в разных столбцах
    #38680516
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, ну чисто дети...
Код: sql
1.
SELECT DISTINCT
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / select строки у которых одинаковые значения в разных столбцах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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