如何将这两个查询加在一起。
SELECT *
FROM tbl_person
WHERE tbl_person.status_id = '+ status_dg.selectedItem.status_id +';
SELECT *
FROM tbl_settings
WHERE tbl_settings.status_id = '+ status_dg.selectedItem.status_id +';
我试过这个,但似乎没有用。
SELECT *
FROM tbl_person, tbl_settings
WHERE tbl_person.status_id = '+ status_dg.selectedItem.status_id +'
OR tbl_settings.status_id = '+ status_dg.selectedItem.status_id +';
这里有关于我正在尝试做什么的更多信息。
在两个表(tbl_person,tbl_settings)中,status_id是外键。在我的应用程序中,用户可以创建和删除状态。因此,我正在尝试编写的此查询是针对何时删除状态。在删除状态之前,我需要检查tbl_person和tbl_settings,以查看是否存在要删除的状态。如果其中一个表与要删除的状态匹配,我需要提升用户。
希望这有帮助。
答案 0 :(得分:1)
不知道你需要什么联盟?
SELECT *
FROM tbl_person
WHERE tbl_person.status_id = '+ status_dg.selectedItem.status_id +'
union
SELECT *
FROM tbl_status
WHERE tbl_status.status_id = '+ status_dg.selectedItem.status_id +'
1.您应该避免使用“*”来选择所有记录。您应该指定要检索的列集
这一行:WHERE tbl_person.status_id = '+ status_dg.selectedItem.status_id +'
看起来你做的事情完全错了。您应该避免在SQL中放置业务逻辑
是的,提供更多信息
答案 1 :(得分:1)
我对你的问题有些困惑,因为你首先使用了tbl_person和tbl_status,然后你尝试通过加入tbl_person和tbl_settings进行测试。
你想加入哪两个表?
如果你想加入tbl_person和tbl_settings,那怎么样呢。
SELECT *
FROM tbl_person JOIN tbl_setting
ON tbl_person.status_id = tbl_settings.status_id
WHERE tbl_person.status_id = '+status_dg.selectedItem.status_id+'
答案 2 :(得分:0)
如果没有关于表架构的更多信息,请尝试:
SELECT *
FROM tbl_person, tbl_settings
WHERE tbl_person.status_id = tbl_settings.status_id
AND tbl_person.status_id = '+status_dg.selectedItem.status_id+'
这将加入tbl_person
上的2个表tbl_status
和status_id
,并仅检索status_id = '+status_dg.selectedItem.status_id+'
的行。
答案 3 :(得分:0)
要加入表格,您需要定义加入字段,在您的情况下似乎是status_id字段。
这可能无法正常运行,但是如果你查看最后一行,你需要在查询中使用它:
SELECT *
FROM tbl_person, tbl_settings
WHERE
( tbl_person.status_id='+status_dg.selectedItem.status_id+'
OR tbl_settings.status_id='+status_dg.selectedItem.status_id+' )
AND tbl_person.status_id = tbl_settings.status_id;