を値に等しく存在しないすべての行またはフィールドを選択します。MySQLの - 私は2つのテーブル持っ
G1:
id | name |
1 | G1 |
2 | G2 |
3 | G3 |
4 | G4 |
5 | G5 |
g_u_groups:私が持っている
id | group_id | action |
1 | 2 | view |
2 | 3 | add |
3 | 2 | view |
4 | 3 | view |
5 | 1 | add |
を次のクエリの問題:
SELECT *
FROM g1
LEFT JOIN g_u_groups ON
g_u_groups.group_id = g1.id
AND (g_u_groups.action = 'add' OR g_u_groups.id is null)
ORDER BY g_u_groups.id DESC
LIMIT 10
これで、g_u_groups
に行を持つグループだけが選択されます。
すべてのグループを最新の'add'
アクションで注文したいと思いますが、を持たないgroups
も選択します。
期待される結果:
id | name |
1 | G1 |
3 | G3 |
2 | G2 |
4 | G4 |
5 | G5 |
サンプルデータであなたの質問に手の込んだ期待される結果。 – Viki888
@ Viki888ここをクリック –
期待した結果を追加してください – scaisEdge