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

この 2 つを結合するにはどうすればよいですか? Varchar GUID と GUID タイプは両方とも主キー

    異なるデータ型を持つ値を比較する場合、SQL Server は非常にインテリジェントです。

    次のスクリプトは、明示的な変換なしでそのまま機能します

    DECLARE @TableA TABLE (VARCHARID VARCHAR(48) PRIMARY KEY)
    DECLARE @TableB TABLE (GUIDID UNIQUEIDENTIFIER PRIMARY KEY)
    
    INSERT INTO @TableA VALUES 
        ('{0CAF3FBC-3C76-420B-B0C4-42867551E3B5}')
      , ('{0CAF3FBC-3C76-420B-B0C4-42867551E3B6}')
      , ( '0CAF3FBC-3C76-420B-B0C4-42867551E3B7' )
      , ( '0CAF3FBC-3C76-420B-B0C4-42867551E3B8' )
    
    INSERT INTO @TableB VALUES 
        ('{0CAF3FBC-3C76-420B-B0C4-42867551E3B5}')
      , ( '0CAF3FBC-3C76-420B-B0C4-42867551E3B6' )
      , ('{0CAF3FBC-3C76-420B-B0C4-42867551E3B7}')
      , ( '0CAF3FBC-3C76-420B-B0C4-42867551E3B8' )
    
    SELECT  *
    FROM    @TableA a
            INNER JOIN @TableB b ON b.GUIDID = a.VARCHARID
    

    結果

    VARCHARID                               GUIDID
    {0CAF3FBC-3C76-420B-B0C4-42867551E3B5}  0CAF3FBC-3C76-420B-B0C4-42867551E3B5
    {0CAF3FBC-3C76-420B-B0C4-42867551E3B6}  0CAF3FBC-3C76-420B-B0C4-42867551E3B6
    0CAF3FBC-3C76-420B-B0C4-42867551E3B7    0CAF3FBC-3C76-420B-B0C4-42867551E3B7
    0CAF3FBC-3C76-420B-B0C4-42867551E3B8    0CAF3FBC-3C76-420B-B0C4-42867551E3B8
    


    1. mysqlリターンテーブル名

    2. CentOS6にMariaDB10をインストールして保護する方法

    3. mysqlクエリ結果を目的の形式にフォーマットします

    4. PHPでデータベースから複数の行を取得する方法