[英]SQL query join- unrelated tables
有人可以幫助我在沒有任何主鍵或輔助鍵的情況下加入兩個表嗎? 樣品表是
表格1
| ID | NAME |
| 1 | x |
| 2 | Y |
| 3 | z |
表2
| Num | NAME | DATE |
| 52 | X | 12-aug-17 |
| 53 | X | 11-apr-17 |
| 62 | X | 10-aug-11 |
| 12 | y | 2-jan-16 |
| 23 | Y | 3-apr-18 |
我想從X檢索數據
select *
from table2
where name = 'x';
| Num | NAME | DATE |
| 52 | X | 12-aug-17 |
| 53 | X | 11-apr-17 |
| 62 | X | 10-aug-11 |
現在,我將從table2中獲得三個數據。 在執行此步驟后,我有點受困。 我想從表2獲取數據的頂部並與表1結合。
我希望最終輸出應該是
| ID | NAME | Num | DATE |
| 1 | x | 52 | 12-aug-17 |
有人可以建議我如何加入此桌嗎? 當我們有主鍵時很容易加入
謝謝
您需要使用子查詢來獲得最大的DATE
,如下所示:
select t1.id, t2.*
from table1 t1
join table2 t2 on t2.name = t1.name
where t2.date = (
select max(date) from table2 where name = 'x'
);
您可以使用此:
SELECT TOP(1) table1.ID, table2.Num, table2.Name, table2.DATE
FROM table2 INNER JOIN table1 ON table1.NAME = table2.NAME
WHERE table2.NAME = 'x'
ORDER BY table2.DATE ASC
要么
SELECT table1.ID, table2.Num, table2.Name, table2.DATE
FROM table1 INNER JOIN
(SELECT TOP(1) * FROM table2 WHERE NAME = 'x' ORDER BY DATE ASC) table2
ON table1.NAME = table2.NAME
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.