我四处寻找类似的问题,但如果它存在,我还没找到。
我不相信这是重复的,因为我试图从TableB中获取多行并与tableA中的单行组合,这不是另一个问题中显示的内容。
请考虑以下表格。
|TableA |
|id value1|
|1 |3 |
|2 |10 |
|3 |10 |
|4 |6 |
|5 |10 |
|TableB |
|id Aid value2|
|1 |1 |14 |
|2 |1 |93 |
|3 |2 |30 |
|4 |3 |12 |
|5 |3 |62 |
|6 |3 |2 |
|7 |4 |2 |
|8 |4 |29 |
|9 |5 |50 |
我希望每行FROM TableA WHERE value1 = 10,但我也希望它们与TableB中具有这些TableA行的id作为其Aid值的所有行一起加入。
基本上,我想回到3行:TableA第2,3行和第5行,其中第1行与TableB的第3行连接,第2行与TableB的第4行,第5行和第6行连接,第3行连接加入TableB的第9行。
我该怎么做呢?甚至可以使用一个查询吗?如果有可能,结果会是什么?
这就是我得到的......
SELECT a.*, b.* FROM TableA AS a JOIN TableB AS b ON a.id=b.Aid WHERE a.value1=10
答案 0 :(得分:0)
r := regexp.MustCompile(`\((.*?)\)`)
答案 1 :(得分:0)
你的意思是
SELECT a.*, b.*
FROM TableA AS a
JOIN TableB AS b ON a.id = b.Aid
WHERE a.value1 = 10
答案 2 :(得分:0)
最好使用单词INNER JOIN,这样当您再次查看此代码时,您可以清楚使用哪种连接
SELECT a.*, b.* FROM TableA AS a INNER JOIN TableB AS b ON a.id=b.Aid
WHERE a.value1=10
我为解决你的问题而添加的最后一点