gpt4 book ai didi

mySQL 查询 : involving 2 tables

转载 作者:太空宇宙 更新时间:2023-11-03 11:12:17 25 4
gpt4 key购买 nike

我有两张 table

table 1 : id, name, age, gender.
table 2(friend) : id1,id2. (stored only once i.e only one entry for a unique pair)

我需要编写一个查询,它接受一个 id,然后返回包含表 1 中与他/她的所有 friend 对应的行的结果集。

我试过这个查询

"SELECT * FROM table1 WHERE id IN ("
+ "(SELECT id2 FROM table2 WHERE (id1="+given_id+")) UNION "
+ "(SELECT id1 FROM table2 WHERE (id2="+given_id+")));"

但它似乎不起作用说语法错误...任何人都可以帮我解决这个问题。

感谢努力......非常感谢

最佳答案

你需要给 given_id 加上单引号,否则 MySQL 会认为它是一个列名。
如果 given_id 是一个数字,此代码也将有效。

"SELECT t1.* "
+"FROM table1 t1 "
+"INNER JOIN table2 t2 ON (t1.id = t2.id1 OR t1.id = t2.id2) "
+"WHERE '"+given_id+"' IN (t2.id1, t1.id) "

关于mySQL 查询 : involving 2 tables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7718628/

25 4 0