0

2つの結果セットを生成する2つのクエリがあり、両方の結果セットを比較し、それらの違いを表示する必要があります。良いサポートが得られることを願っています。ありがとうございます。これらは私のクエリです。

クエリ:1

SELECT distinct c.sid_ident,c.fix_ident from corept.std_sid_leg as c INNER JOIN (SELECT sid_ident, transition_ident, max(sequence_num) seq, route_type FROM corept.std_sid_leg  WHERE data_supplier='J' AND airport_ident='KBOS' GROUP BY sid_ident,transition_ident) b ON c.sequence_num=b.seq and c.sid_ident = b.sid_ident and c.transition_ident =b.transition_ident WHERE c.data_supplier='J' and c.airport_ident='KBOS';

クエリ:2

SELECT name,trans FROM skyplan_deploy.deploy_sids ON d.name=c.sid_ident WHERE apt = 'KBOS' AND name != trans;

比較は、corept.std_sid_legのフィールドsid_identとskplan_deplay.deploy_sidsのnameで行われます。Mysqlは完全な外部結合をサポートしていないため、左結合と右結合を使用して両方の結果を結合することを考えましたが、これに固執しました。助けてください。左結合と右結合を使用しているときに構文エラーが発生します。ありがとうございます。

4

1 に答える 1

1

FULL OUTER JOIN次のクエリは、MySQLでをシミュレートする必要があります。

SELECT * 
FROM A
LEFT OUTER JOIN B
  ON A.NAME = B.NAME
WHERE B.ID IS NULL
  UNION ALL
SELECT * 
FROM B
LEFT OUTER JOIN A
  ON B.NAME = A.NAME
WHERE A.ID IS NULL;

の結果をSQLServerの実際の結果と比較すると、FULL OUTER JOIN機能することがわかります。

于 2013-03-21T09:59:37.860 に答える