返回空集的Mysql
上面的查询在mysql中返回空集,但数据存在。如何排除故障 请帮忙。。。返回空集的Mysql,mysql,Mysql,上面的查询在mysql中返回空集,但数据存在。如何排除故障 请帮忙。。。 提前感谢….不要在表数据库周围使用单引号,列名使用反勾号 试试这个: select ag.name, aa.name, al.object_id, u.name, al.performed_by, al.datetime, aa1.name, et.name, ald.name, ald.value from 'db'.'table1' al, 'db'.'table2' ald, 'db'.
提前感谢….不要在表数据库周围使用单引号,列名使用反勾号 试试这个:
select
ag.name, aa.name, al.object_id, u.name, al.performed_by, al.datetime,
aa1.name, et.name, ald.name, ald.value
from
'db'.'table1' al, 'db'.'table2' ald, 'db'.'table3' ag,
'db'.'table4' aa, 'db'.'table5' aa1, 'db'.'table6' et,
'db'.'table7' u
where
al.id = ald.log_id
and al.datetime > DATE_SUB(sysdate(). INTERVAL 90 DAY)
and al.group_id = ag.id
and ag.name = 'User'
and al.action_id = aa1.id
and al.object_id = u.user_id
and ald.type_id = et.id;
用joins试试这个
from
`db`.`table1` al, `db`.`table2` ald, `db`.`table3` ag,
`db`.`table4` aa, `db`.`table5` aa1, `db`.`table6` et,
`db`.`table7` u
第一个建议:使用
JOIN
s而不是WHERE
条件;它使您的查询更清晰,更易于调试。与表4 aa没有关系?谢谢您的回复,我尝试了反勾号,然后它又返回了空集。下面是我的参考。从db
表1al、db
表2ald、db
表3ag、db
表4aa、db
表5aa1、db
表6et、db
表7u返回空。从db
table1
al,db
table2
ald
,db
table3
ag,db
table4
aa
,db
table5
aa1,db
table6
,db
table7
u
其中****和ag.name='User'****在'where子句'中以未知列'User'的形式返回错误再次感谢您。感谢您的帮助。我尝试了很多方法,包括连接和打开,正在返回空集。查看我的日期子项(sysdate(),间隔90天)
It's with comma not point正如您在查询中所做的那样这可以与where子句一起使用。请尝试使用此和ag.name='user'
。请注意小u而不是u。@user2668829您欢迎!:)。请确保接受已解决的答案,以帮助他人。
select
ag.name, aa.name, al.object_id, u.name, al.performed_by, al.datetime,
aa1.name, et.name, ald.name, ald.value
from
`db`.`table1` al
Inner join `db`.`table2` ald On al.id = ald.log_id
Inner join `db`.`table3` ag On al.group_id = ag.id
Inner join `db`.`table4` aa On """""the condition of relation with this table""""
Inner join `db`.`table5` aa1 On al.action_id = aa1.id
Inner join `db`.`table6` et On ald.type_id = et.id
Inner join `db`.`table7` u On al.object_id = u.user_id
where
al.datetime > DATE_SUB(sysdate(), INTERVAL 90 DAY)
and ag.name = 'User'