我目前正在嘗試加入兩個表。這是他們的骨架
表格1:
| ID | 資料1 | T1資料2 |
|---|---|---|
| 46 | ... | ... |
| 47 | ... | ... |
| 48 | ... | ... |
表#2:
| ID | T2D2 | T2D3 | T2D4 |
|---|---|---|---|
| 1 | 黑色的 | 莫霍克 | 745 |
| 2 | 藍色 | 平頂 | 746 |
| 3 | 黃色 | 饑餓 | 747 |
我想獲得 T2D2 和 T2D3 并讓表具有表 1 中所有行的最大 id。它應該是這樣的:
預期結果:
| END_ID | END_D2 | END_D3 |
|---|---|---|
| 48 | 黑色的 | 莫霍克 |
| 48 | 藍色 | 平頂 |
| 48 | 黃色 | 饑餓 |
我想我已經考慮過這個問題了,我嘗試過交叉連接和不同的選擇陳述句。
這是我目前所在的位置:
SELECT max(t1.id) inv_id, t2.t2d2, t2.d3 FROM t_name2 t2 CROSS JOIN t_name t1"
有一個包含表 2 中資料的 case 陳述句,但我已經單獨測驗了表 2 中的 select 陳述句,它正在收集正確的資訊。我只是想將表 #1 中的最大 id 復制到表 #2 中結果表的所有行。
我也嘗試了一些類似的東西:
SELECT max(t1.id) inv_id, t2.t2d2 from t_name t1, t_name2 t2 where t2.t2d2 in ('Black', 'Blue')
但它仍然無法加入。語法不正確,兩個表都沒有匹配項,所以我在這里遇到了困難。
我通過這樣的宣告取得了成功:
SELECT 46, t2.t2d2 from t_name2 t2 where t2.t2d2 in ('Black', 'Blue')
但這是手動輸入。我寧愿在一個查詢中完成這一切,但看起來我可能必須先查詢最大 id,然后以上述方式添加它。
我找不到類似的問題。(如果已經被問到,請隨時重定向我。)
感謝您花時間閱讀并回復這篇文章。
uj5u.com熱心網友回復:
從表面上看,您似乎只需要一個子查詢,但我感覺您過于簡化或遺漏了某些內容。
SELECT (SELECT MAX(t1.id) FROM t_name t1) inv_id, t2.t2d2, t2.d3
FROM t_name2 t2
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/311540.html
標籤:sql sql-server 查询语句
