sql >> データベース >  >> RDS >> Oracle

データベースからフェッチされた冗長な値を無視する

    これが単に (B, A) の処理に関するものである場合 (A, B) の複製として 返される行が (A, B) になるかどうかは特に気にしません または (B, A) 、次のようなことができます:

    SELECT DISTINCT
      CASE WHEN BUG_ID > LINKED_BUG_ID THEN LINKED_BUG_ID ELSE BUG_ID AS BUG_ID,
      CASE WHEN BUG_ID > LINKED_BUG_ID THEN BUG_ID ELSE LINKED_BUG_ID AS LINKED_BUG_ID
    FROM MY_BUG_LINKS;
    

    つまり、BUG_ID の場合 LINKED_BIG_ID より大きい値があります の場合、クエリは 2 つの ID を交換します。それ以外の場合、値は変更されずに返されます。したがって、 (A, B) および (B, A) 常に重複行を生成します (どちらも (A, B) のいずれかになります) または (B, A) )、および DISTINCT 最終結果に何もないことを確認してください。



    1. 2つのMYSQLSELECTクエリを組み合わせる

    2. 400の都市間の距離を計算し、MySQLを最適化しますか?

    3. postgresqlのユーザーのデフォルトパスワード

    4. MariaDBでのDATEDIFF()のしくみ