安装后:
T1
[2,2638,10.0,20.0,30.0,40.0,50.0,60.0,70.0,590,2638]
T2
ID Name Price
1 Miller 50
2 Smith 10
3 Someone 20
我要做的是从第二个表中选择所有条目,其中一个类似于11.1。我正在使用此查询:
ID Item Price
1 10.1 25
1 10.2 25
2 32.1 10
3 32.1 10
3 11.1 2
3 12.2 3
3 43.2 5
我应该得到以下结果:
SELECT
t1.ID
t1.Name
t2.Item
FROM t1
JOIN t2 on t1.ID = t2.ID
WHERE t2.item in ('11.1)
但因为我做了"其中"在特定项目上我只得到一行。当只有1行匹配" 11.1&#34时,如何从t2获取所有行?
答案 0 :(得分:1)
试试这个......
首先,您需要获取等于'11.1'
的项的ID列表,然后您可以从列表中的表t2
获取数据。您需要加入t1
才能获得name
。
Select
t2.ID,
t1.name Name,
t2.item Item
from t1
join t2
on t1.ID= t2.ID
where t2.ID in (select ID from t2 where item = '11.1')
答案 1 :(得分:0)
您应该使用子查询来获取与您的条件首先返回的所有元素具有相同ID的所有元素。
SELECT
t2.ID, t2.Item, t1.Name
FROM
t1
JOIN
t2
ON t2.ID = t1.ID
WHERE t2.ID in (SELECT ID FROM t2 WHERE t2.item in ('11.1'))