2 つのテーブルのそれぞれからいくつかの要素を取得して、postgresql データベースからいくつかのデータを抽出する必要があります。テーブルには、物理ネットワーク デバイスに関連するデータが含まれます。1 つのテーブルは、これらのデバイスの MAC アドレス専用です。各デバイスは、場所 (車両) と機能 (dev_name) によって識別されます。
table1 (資産):
vehicle
dev_name
dev_serial
dev_model
table2: (マック)
vehicle
dev_name
mac
interface
私が試したこと:
SELECT assets.vehicle, assets.dev_name, dev_model, dev_serial, mac
FROM assets, macs
AND interface = 'E0'
ORDER BY vehicle, dev_name
;
しかし、思ったように車両とdev_nameが一致していないようです。代わりに、mac と dev_serial のすべての組み合わせを出力するように見えますが、これは意図した出力ではありません。それぞれに 1 行が必要です。
assets.dev_name = macs.dev_name および assets.vehicle = macs.vehicle に基づいて、MAC アドレスをデバイスに一致させるにはどうすればよいでしょうか?
注: の一部のデバイスにassets
は に記録された MAC アドレスがない場合がありmac
ます。