我想创建一个SELECT语句,从同一个数据库中的两个表中选择两个不同的列 .
SELECT TNC301X.DIRIN, NC301B.PATH301
FROM TNC301X, NC301B
WHERE TNC301X.EDIPROC like 'P30_' AND NC301B.EDIPROC like 'P30_'
AND (LASTENRIN > 0) OR (LF301M > 0)
AND (DIRIN NOT LIKE '%saptemp%')
AND (DIRIN NOT LIKE '%SAPTEMP%')
AND (DIRIN NOT LIKE '%usr%')
AND (DIRIN NOT LIKE '%Windows%');
我只想选择列DIRIN和PATH301中的内容 .
TNC301X.DIRIN NC301B.PATH301
\\ABC\DEF\ \\ABC\DEF\
\\GHI\JKL\ \\GHI\JKL\
\\MNO\PQR\ \\MNO\PQR\
声明似乎在语法上是正确的,但输出不是 . 当我为每个表创建一个语句时,输出是正确的 . 表格不相等 .
SELECT-PATH301
SELECT PATH301
FROM NC301B
WHERE EDIPROC like 'P30_'
AND (LF301M > 0)
AND (PATH301 NOT LIKE '%saptemp%')
AND (PATH301 NOT LIKE '%SAPTEMP%')
AND (PATH301 NOT LIKE '%usr%')
AND (PATH301 NOT LIKE '%Windows%');
SELECT-DIRIN
SELECT DIRIN
FROM TNC301X
WHERE EDIPROC like 'P30_'
AND (LASTENRIN > 0)
AND (DIRIN NOT LIKE '%saptemp%')
AND (DIRIN NOT LIKE '%SAPTEMP%')
AND (DIRIN NOT LIKE '%usr%')
AND (DIRIN NOT LIKE '%Windows%');
我想要做的就是结合这些陈述,但我不知道如何 .
编辑:我明白了 .
FYI
SELECT DIRIN
FROM TNC301X
WHERE EDIPROC like 'P30_'
AND (DIRIN NOT LIKE '%saptemp%')
AND (DIRIN NOT LIKE '%SAPTEMP%')
AND (DIRIN NOT LIKE '%usr%')
AND (DIRIN NOT LIKE '%Windows%')
UNION ALL
SELECT PATH301
FROM NC301B
WHERE EDIPROC like 'P30_'
AND (PATH301 NOT LIKE '%saptemp%')
AND (PATH301 NOT LIKE '%SAPTEMP%')
AND (PATH301 NOT LIKE '%usr%')
AND (PATH301 NOT LIKE '%Windows%');
2 回答
要加入两个表,您需要匹配两个表的id,如'where table1.id = table2.id' . 在这种情况下我认为加入这两个表的id是EDIPROC列 . 我可能错了 .
Union
正是您要找的 . 只需合并你的两个Select
语句 . 如果您希望在表格中找到重复的结果,并且希望所有结果都显示在输出中,请使用Union all
More info on w3schools