2 つのテーブルを作成しようとしてJOIN
いますが、正しく機能していません。私はloc_id
すべてのテーブルにあり、それらはすべて の値を持っています1
。私のデータベースは INNODB です。loc_id
は、 という 3 番目のテーブルの一意の ID ですb_locations
。このテーブルも含めてみましJOIN
たが、実際には必要ないため、同じ結果が得られました。JOIN
将来の校正のために 3 つ以上のテーブルを作成できるようにしたいのですが、明らかに最初に 2 つを機能させる必要があります。
クエリに含まれていないテーブルの一意の ID に参加する私のアプローチは悪いアプローチですか?
ここに私のSQLがあります:
SELECT d.view_id,
d.gps_lat survey_lat,
d.gps_lng survey_lng,
d.thumbnail,
c.sign_type,
c.gps_lat object_lat,
c.gps_lng object_lng
FROM `d_view_angles` AS d
JOIN c_survey_elements AS c
ON d.loc_id = c.loc_id
WHERE c.loc_id = '1'
これが私が得ているものです(望ましい結果の下の太字のテキストを参照してください):
1 37.367156 -77.39987 ... FREESTANDING SIGN 37.367229 -77.399835
2 37.367305 -77.399801 ... FREESTANDING SIGN 37.367229 -77.399835
3 37.36739 -77.400022 ... FREESTANDING SIGN 37.367229 -77.399835
4 37.367619 -77.399897 ... FREESTANDING SIGN 37.367229 -77.399835
1 37.367156 -77.39987 ... DOWN LIGHTING 37.367408 -77.400077
2 37.367305 -77.399801 ... DOWN LIGHTING 37.367408 -77.400077
3 37.36739 -77.400022 ... DOWN LIGHTING 37.367408 -77.400077
4 37.367619 -77.399897 ... DOWN LIGHTING 37.367408 -77.400077
1 37.367156 -77.39987 ... DOWN LIGHTING 37.367635 -77.399944
2 37.367305 -77.399801 ... DOWN LIGHTING 37.367635 -77.399944
3 37.36739 -77.400022 ... DOWN LIGHTING 37.367635 -77.399944
4 37.367619 -77.399897 ... DOWN LIGHTING 37.367635 -77.399944
試してみましたが、上位 4 つの結果が得られ、次の結果が得られます (とGROUP BY survey_lat, survey_lng
の繰り返しc.sign_type
に注意してください)。c.gps_lat
c.gps_lng
1 37.367156 -77.39987 ... FREESTANDING SIGN 37.367229 -77.399835
2 37.367305 -77.399801 ... FREESTANDING SIGN 37.367229 -77.399835
3 37.36739 -77.400022 ... FREESTANDING SIGN 37.367229 -77.399835
4 37.367619 -77.399897 ... FREESTANDING SIGN 37.367229 -77.399835
これらは私が得るべき結果です:
1 37.367156 -77.39987 ... FREESTANDING SIGN 37.367229 -77.399835
2 37.367305 -77.399801 ... FREESTANDING SIGN 37.367229 -77.399835
3 37.36739 -77.400022 ... DOWN LIGHTING 37.367408 -77.400077
4 37.367619 -77.399897 ... DOWN LIGHTING 37.367635 -77.399944
ばかげた単純なものだと確信していますが、まだ問題を追跡できていません。私のJOIN
推測では. それが私の声明にない場合は、表のフォーマットに関する推奨事項を歓迎します。他の情報が必要な場合は、お知らせください。JOINS
INNER JOIN
RIGHT JOIN
RIGHT OUTER JOIN
SQL
MYSQL のバージョンを制御することはできません。これは、SurpassHosting によってホストされているリモート サーバーから実行されます (お勧めしません)。
MYSQL Server バージョン: 5.0.95-community
プロトコル バージョン: 10
PHPMyAdmin を介した SQL クエリの実行 バージョン情報: 3.4.10.1 および MSQL WorkBench 5.2.37 CE