このクエリを使用して、ネットワーク上で (dell kace を使用して) サービス タグに従って保証期限が切れているすべてのマシンを検索しています。
ただし、クエリを実行すると、一部のマシンが 2 回表示されますが、表示されるのは 1 回だけです。
次の出力例では、マシン example3 は正しくリストされていますが、example1 は 2 回リストされています。
# Machine Name Service Tag
1 example1 abcd123
2 example1 abcd123
3 example3 abcd124
コード:
SELECT
M.NAME AS MACHINE_NAME, M.CS_MODEL AS MODEL, DA.SERVICE_TAG,
DA.SHIP_DATE,M.USER_LOGGED AS LAST_LOGGED_IN_USER, DW.SERVICE_LEVEL_CODE,
DW.SERVICE_LEVEL_DESCRIPTION, DW.END_DATE AS EXPIRATION_DATE
FROM
DELL_WARRANTY DW
JOIN
DELL_ASSET DA ON (DW.SERVICE_TAG = DA.SERVICE_TAG)
JOIN
MACHINE M
ON (M.BIOS_SERIAL_NUMBER = DA.PARENT_SERVICE_TAG OR M.BIOS_SERIAL_NUMBER = DA.SERVICE_TAG)
LEFT JOIN
DELL_WARRANTY DW2 ON DW2.SERVICE_TAG=DW.SERVICE_TAG and DW2.END_DATE > NOW()
WHERE
M.CS_MANUFACTURER LIKE '%dell%'
AND
M.BIOS_SERIAL_NUMBER!=''
AND
DA.DISABLED != 1
AND
DW.END_DATE < NOW()
AND
DW2.SERVICE_TAG IS NULL;
同じマシン名とサービスタグを持つコンピューターを一度だけ出力する方法についてのアイデアはありますか? ありがとう。