假设我有两张表
表名组
第1栏:给予者
第2栏:接受者
表名userinfo
第1栏:名称
第2栏:状态
我想从组表中选择给予者,接受者和userinfo.status,其中名称为zakir的给予者或接受者作为名称存在于uerinfo表中的给予者或接受者。
需要帮助为taht查询编写sql语句.. 在此先感谢... :)
答案 0 :(得分:1)
您所指的内容在SQL语句中也称为INNER JOIN子句。
根据关系,您可以创建INNER JOIN以可能连接两个相同的变量。
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;
答案 1 :(得分:1)
尝试以下查询,
SELECT
gp.giver,gp.acceptor,ui.status
FROM group as gp JOIN userinfo as ui
on ui.name = 'zakir'
AND (gp.giver = 'zakir' or gp.acceptor = 'zakir')
或者在没有加入的情况下尝试这个,
SELECT
gp.giver,gp.acceptor,ui.status
FROM group as gp, userinfo as ui
WHERE ui.name = 'zakir'
AND (gp.giver = 'zakir' or gp.acceptor = 'zakir')
答案 2 :(得分:1)
试试这个:
SELECT `group`.`giver`, `group`.`acceptor`, `userinfo`.`status`
FROM `group`, `userinfo`
WHERE (`group`.`giver` = 'zakir' OR `group`.`acceptor` = 'zakir')
AND `userinfo`.`name` = 'zakir'
答案 3 :(得分:1)
select g.giver, g.acceptor u.status
from group g, userinfo u
where u.name = 'zakir'
and (g.giver = u.name or g.acceptor = u.name)
它应该完成工作的一部分。
答案 4 :(得分:1)
这假设您想要给予者和接受者的状态
可能需要对mysql语法进行一些调整
Select giver, g.status, acceptor, a.status
FROM GROUP
join userinfo as g on group.giver = g.name
join userinfo as a on group.acceptor = a.name
where (giver = 'zakir' or acceptor = 'zakir')