t3,t4表都各只有一个字段nums,VARCHAR型,t3.nums(varchar 7),t4.nums(varchar 11),要从T4表中挑出t4.NUMS前7位在T3中的nums中的部分,select t4.nums from t4 where left(t4.nums,7) in (select t3.nums from t3)这个语句哪有问题?
select t4.nums from t4 inner join (select distinct nums from t3) A on left(t4.nums,7) = A.nums
没问题!select t4.nums from t4 inner join (select distinct nums from t3) A on left(t4.nums,7) = A.nums 这么用也没问题 不国你可以这么试试》》》 print left(t4.nums,7) --替换成变量好点!
不行的,我的语句执行但是查不出想要的结果,COUNT是0,虎虎的用法我也试了,不行
select t4.nums from t4 where left(t4.nums,7) in (select t3.nums from t3 WHERE t3.nums IS NOT NULL) /*注意:使用IN(子查询)时,要在子查询中使用IS NOT NULL来排除空值,否则结果可能会因为NULL值而不准确,这是很容易被忽略的问题.*/
select t4.nums from t4 inner join (select distinct nums from t3) A on left(ltrim(t4.nums),7) = ltrim(rtrim(A.nums)) 这样呢
on left(t4.nums,7) = A.nums
on left(t4.nums,7) = A.nums
这么用也没问题
不国你可以这么试试》》》
print left(t4.nums,7) --替换成变量好点!
in (select t3.nums from t3 WHERE t3.nums IS NOT NULL) /*注意:使用IN(子查询)时,要在子查询中使用IS NOT NULL来排除空值,否则结果可能会因为NULL值而不准确,这是很容易被忽略的问题.*/
on left(ltrim(t4.nums),7) = ltrim(rtrim(A.nums))
这样呢