2つの異なるテーブルから2つのプライマリキーを参照しようとしていますが、文字の長さのために一致しないという問題があります。異なるプライマリキーの長さを持つ2つのテーブルを一致させる方法
例:person.personid = '1234'
およびdepartment.personid = '12345'
。
プライマリキーの最初の4文字または5文字と一致させるために使用できるSQL文がありますか、それとも他にも使用できる方法があります。
更新:よろしくお願いいたします。私は2つのテーブルを扱っています。 "dyndomrun.ddid"
にはプライマリキーがあり、"domainregion.domainid"
にはプライマリキーも外部キーもありません。 "dyndomrun"テーブルDDLは"character varying"
に設定され、8文字ですが、 "domainregion"テーブルDDLも "character varying"に設定されていますが、10文字です。
問題テーブルの主キーと一緒に結合する必要があるフィールドが、domainregion
テーブルにあります。私はLIKE、それらのどれも動いていないようにみえ、内部結合、JOINS試してみましたが、このような
SELECT domainregion.domainid, dyndomrun.ddid
FROM domainregion, dyndomrun
WHERE domainregion.domainid = dyndomrun.ddid
ORDER BY domainregion.domainid, dyndomrun.ddid;
以下のような単純なSQL文でこれを行うように見えることはできません。私が扱っているデータベースは、PostgreSQLを使用して純粋にSQLベースで格納されています。
お知らせください。
どのデータベースエンジンですか? MySQL? SQLサーバー?オラクル?その他? – ean5533
カラムp_person_idとd_person_idを持つマッピングテーブルを作成する –
通常、テーブル間のプライマリキーは一致しません - 一方のテーブルの**外部キー**は別のテーブルの**プライマリキー**を参照し、これら2つは同一である必要がありますそのデータ型には –