回答編集履歴
1
追記
test
CHANGED
@@ -10,4 +10,25 @@
|
|
10
10
|
SELECT * FROM (SELECT T.* FROM T ORDER BY id DESC, t_date DESC LIMIT 1) T1
|
11
11
|
WHERE NOT EXISTS(SELECT 1 FROM T INNER JOIN M ON T.id = M.id AND T.t_char = M.t_char);
|
12
12
|
```
|
13
|
+
追記
|
14
|
+
---
|
15
|
+
> idやt_charは外部(アプリ側)から入力される想定です。
|
13
16
|
|
17
|
+
> id「03」かつt_char「a」のレコードのなかから、t_dateの日付が最も新しいレコードという意味です。③のt_date「2022/10/09」よりも④のt_date「2022/10/10」のほうが新しいため、④が取得されてほしいです。
|
18
|
+
|
19
|
+
下記のようなことかな?
|
20
|
+
|
21
|
+
```SQL
|
22
|
+
SELECT * FROM T
|
23
|
+
WHERE
|
24
|
+
id = '01' AND t_char = 'a'
|
25
|
+
AND EXISTS(SELECT 1 FROM M WHERE id = '01' AND t_char = 'a')
|
26
|
+
UNION ALL
|
27
|
+
SELECT * FROM
|
28
|
+
(SELECT T.* FROM T
|
29
|
+
WHERE
|
30
|
+
id = '01' AND t_char = 'a'
|
31
|
+
AND NOT EXISTS(SELECT 1 FROM M WHERE id = '01' AND t_char = 'a')
|
32
|
+
ORDER BY t_date DESC LIMIT 1) T1;
|
33
|
+
```
|
34
|
+
|