求高手帮忙看下sqlite3两个表联合查询语句怎么写。比如:

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求高手帮忙看下sqlite3两个表联合查询语句怎么写。比如:相关的知识,希望对你有一定的参考价值。

有一个表 图书(编号,书名,出版日期,借阅者证号,借阅日期)
另一个表 学生(学号,姓名,性别)
借阅者证号和学号是一样的,
想联合这两个表,查询一个学生借的书,显示书名,和借阅日期!
谢谢啦!!

参考技术A select a.书名,a,借阅日期 from 图书 a,学生 b where a.借阅者好=b.学号 and a.借阅者号=???
???就是学号id
参考技术B 你给的条件还需要两个表联合吗 参考技术C select * frim 图书, 学生
where 借阅者证号=学号

求帮忙一个java的sql语句拼接,条件是 in 包括!

这句是我需要的结果:
select * from usr_info u where u.usr_id in ('101','102');
可我在java里拼接后打出来的结果是:
select * from usr_info u where u.usr_id in ('101,102');
求怎么把','加上!
大神详细说明下,或给一个例子?谢谢了啊!
public List queryOrgInfoList(Map<String, String> cnds)这是我写的方法名称!

//不知道你usr_id怎么传入,现假设 ids =[101,102]
String sql = "select * from usr_info u where u.usr_id in ("
StringBuilder sd = new StringBuilder(sql);
for(int i=0;i<ids.length();i++)
   //实际操作,就是添加 "'101‘,"
   sb.append("'").append(ids[i]).append("',");   

sb.deleteAt(sb.length-1); //删除最后一个逗号

sb.append(");");

System.out.print(sb.toString());

参考技术A

这样不行吗?

String sql = "select * from usr_info u where u.usr_id in ('101','102')";

效果:

参考技术B import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Test
public static void main(String[] args)
Map<String, String[]> cnds = new HashMap<String, String[]>()

this.put("u.usr_id", new String[] "1", "2" );

;
new Test().queryOrgInfoList(cnds);


public List queryOrgInfoList(Map<String, String[]> cnds)
String sql = "select * from usr_info u ";
if (null != cnds && cnds.size() > 0)
sql += " where ";
for (Map.Entry<String, String[]> v : cnds.entrySet())
sql += v.getKey() + " in ";
String[] value = v.getValue();
int len = value.length;
int i = 0;
sql += "(";
for (String val : value)
sql += "'" + val + "'";
if (++i < len)
sql += ",";


sql += ")";


System.out.println(sql);
return new ArrayList();

参考技术C 给你俩方法试试:
1、吧最终的sql语句做一个替换操作。replaceAll(sql,',','\',\'')
2、拼接in里的那一部分时,把要拼接每一部分就使用单引号引起来先追问

说的什么玩意啊!说清楚点,或给个例子

追答

这还不明白?
1、你的最终sql语句:
sql=“select * from usr_info u where u.usr_id in ('101,102');
”;sql.replaceAll(',','\',\'');
2、你不是条件是in么,in是你自己拼接上去的不?是的话逗号分割的每一部分都先用单引号引起来。再接上去。

这还不懂?那就别开发了。

参考技术D int a = 101;
int b = 102;
String str = "select * from usr_info u where u.usr_id in ('"+a+"','"+b+"');";
System.out.println(str);
得出来的结果就是你需要的。

以上是关于求高手帮忙看下sqlite3两个表联合查询语句怎么写。比如:的主要内容,如果未能解决你的问题,请参考以下文章

求高手帮忙sql写法:树节点放一个表中,怎么用一条语句查询一个节点及对应的所有父节点信息。

怎么把下面的的sql语句查询出来的结果插入到一张新表中去 求大神帮忙

使用mybatis查询mysql数据库 先调用存储过程,然后再inner join 存储过程返回的临时表出错 高手帮忙看下!

Linq 语句换成 sql语句,求高手帮忙

求高手帮忙解决数据库问题,pgsql connection 在PGSQL中,输入select查询语句,执行,报如下错误:

求SQLServer三表联查分页语句,急求!!!!