這是我之前帖子的擴展。
WITH cte1 AS (
SELECT * FROM Combination
WHERE Col1 = 'val' and city='karim'),
cte2 AS (
SELECT * FROM Combination
WHERE Col1 = 'val2' and city='karim')
SELECT CONCAT(cte1.Col2, cte2.Col2) AS Result
FROM cte1 CROSS JOIN cte2;
| col1 | col2 | 城市 |
|---|---|---|
| 瓦爾 | 145 | 特朗 |
| val2 | 13 | 特朗 |
| val2 | 25 | 特朗 |
| 值 | 146 | 卡里姆 |
| val2 | 124 | 卡里姆 |
| val2 | 56 | 卡里姆 |
輸出:
| 結果 |
|---|
| 14513 |
| 14525 |
| 146124 |
| 14656 |
有多個城市。我只想獲得城市中存在的值的組合
嘗試過這樣的事情,但不起作用。
SELECT * FROM Combination
WHERE Column1 = 'value' and city IN(select city from Combinations);
uj5u.com熱心網友回復:
使用INNER表的自聯接:
SELECT CONCAT(c1.Col2, c2.Col2) AS Result
FROM Combination c1 INNER JOIN Combination c2
ON c2.city = c1.city
WHERE c1.Col1 = 'val' AND c2.Col1 = 'val2';
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/531583.html
標籤:mysql加入级联
