Запросить возврат нескольких значений для одного столбца? - PullRequest
0 голосов
/ 30 сентября 2019

Я выполняю простой запрос и дважды возвращаю один и тот же столбец из одной и той же таблицы. По какой-то причине столбец возвращается с двумя разными результатами. Может кто-нибудь объяснить, почему и показать мне, как попросить запрос дважды возвращать непротиворечивые результаты?

Вот код, который я запускаю:

SELECT WIN1.SERVERNAME,
       WIN1.APPLICATION AS 'App 1',
       WIN1.STATUS      AS 'Status 1',
       WIN1.IPADDRESS   AS 'WIN1 IP',
       WIN2.APPLICATION AS 'App 2',
       WIN2.STATUS      AS 'Status 2',
       WIN2.IPADDRESS   AS 'WIN2 IP'
FROM   SERVER.WINDOWS WIN1,
       SERVER.WINDOWS WIN2
WHERE  WIN1.IPADDRESS IS NOT NULL
       AND WIN2.IPADDRESS IS NOT NULL
       AND WIN1.SERVERNAME LIKE '%SERVER NAME%'
       AND WIN1.STATUS LIKE '%line%'
       AND WIN2.STATUS LIKE '%line%'
       AND WIN2.APPLICATION LIKE '%APPLICATION NAME%' 

Заранее спасибо.

1 Ответ

0 голосов
/ 30 сентября 2019

Двойное добавление одной и той же таблицы к вашему запросу аналогично полному внешнему объединению: вы соединяете таблицу с самим собой, предложения where усложняют задачу, просто вызовите запрос без какого-либо фильтра, чтобы понятьэффект запроса, вызывающего одну и ту же таблицу дважды.

С этого момента вы сможете выполнить то, что ищете.

SELECT WIN1.SERVERNAME,
   WIN1.APPLICATION AS 'App 1',
   WIN1.STATUS      AS 'Status 1',
   WIN1.IPADDRESS   AS 'WIN1 IP',
   WIN2.APPLICATION AS 'App 2',
   WIN2.STATUS      AS 'Status 2',
   WIN2.IPADDRESS   AS 'WIN2 IP'
FROM   SERVER.WINDOWS WIN1,
   SERVER.WINDOWS WIN2

ИЛИ

Select * FROM   
   SERVER.WINDOWS WIN1,
   SERVER.WINDOWS WIN2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...