2つのテーブルの「選択された」列の間にCROSS JOINを作成しようとしています 例:表1(a、b、c) 、B、D) 私は各テーブルからa
とb
を選択し、それらに参加したいが、私はこのエラーを取得しておいてください。私はすべての派生テーブルに名前を付ける必要があるため、これは知っているMySQLのCROSS JOIN:すべての派生テーブルには独自のエイリアスが必要です
Every derived table must have its own alias
が、私はまだ問題が何であるか、オンラインで検索した後でも問題を解決する方法を理解できません。これは、クエリです:
SELECT (x.targetNumber, x.name, x.lat, x.lng)
FROM ((SELECT (u.name, u.targetNumber, u.password)
FROM Users AS u WHERE 'target' = u.type)
CROSS JOIN
(SELECT (l.targetNumber, l.password, l.lat, l.lng) FROM Location AS l)
WHERE (u.targetNumber = l.targetNumber AND u.password = l.password)) AS x;
2行目の末尾にエイリアスを追加する必要があります( 'FROM Location AS l 'のようなものです)。そして、 'cross join'の前に。そして、おそらく私が見落とした他の場所... – Solarflare
@Jocelynそれは重複していますが、依然として私のクエリで問題を見つけることができません。 – MuhammadNe
'" MYSQLでクロスジョインのクエリをしようとしています " - あなたはいません。あなたは 'CROSS JOIN'というキーワードで難読化しようとする内部結合をしようとしています。クロスジョインとは、条件なしでテーブルを結合し、すべての組み合わせを取得することを意味します。しかし、あなたの結合基準は単にWHERE節に隠されています。だからあなたは本当に*達成したいことは何ですか? (これらのカッコはすべて混乱してエラーを見つけにくくなります。実際には最初の派生テーブルにエイリアス名を与えていません。 –