sql语句 表A 有三个字段 id,type,value
取出type为101,102的记录,
但是如果type为102的话需要考虑id对应的103属性值是否满足3301开头
请问代码怎么写?在线等,挺急的!!谢谢
sql语句 表A 有三个字段 id,type,value
取出type为101,102的记录,
但是如果type为102的话需要考虑id对应的103属性值是否满足3301开头
请问代码怎么写?在线等,挺急的!!谢谢
试试这个,思路:
select t1.type,t1.value from t as t1 left join t as t2 on (t2.id = t1.id AND t2.type = 103 AND t2.value like '3301%')
where t1.type = 101 OR ( t1.type = 102 AND t2.id is not NULL )
子查询
SELECT a.Id, a.Type, a.Value
FROM T_A a
WHERE a.Type = 101 OR
(a.Type = 102 AND a.Id IN
(SELECT b.Id
FROM T_A b
INNER JOIN T_A c ON b.Id = c.Id AND c.Value LIKE '3301%' AND c.Type = 103
WHERE b.Type = 102)
)
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
5 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
使用子查询即可,根据你提供的查询示例,SQL 语句如下:
查询效果如下:
