私は3つの列、私が見たいテーブルを結果でJOINを使用して、一部の列で一意の値しか持たない同じテーブルから行を選択する方法はありますか?
Id Color Price
テーブルで
そして、このデータ
+----+-----------+------+
| Id | Color | Price|
+----+-----------+------+
| 1 | Red | 5 |
| 2 | Red | 1 |
| 3 | Green | 3 |
| 4 | Orange | 4 |
+----+-----------+------+-
とテーブルのリンゴを持っている:
+----+-----------+------+
| Id | Color | Price|
+----+-----------+------+
| 3 | Green | 3 |
| 4 | Orange | 4 |
+----+-----------+------+
がどのように私はこの使用しないでください合流サブクエリなしで?
私は唯一の赤りんごを選択し、このクエリを持っている。この時点で:
select *
from apples as a1
left join apples as a2
on a1.Id != a2.Id
where a1.Color = a2.Color;
しかし、私はこれだけ結合やHAVINGまたはサブクエリを使用せずに使用して行うことができますか? –
グループ化するときに*使用することはできません... –
@ Milanvevecは作業フィドルをチェックします... mySqlで動作するようです...私はそれがT-SQLではなくチェックされ、それはmySqlで動作することを確信していました – Jcl