mysql从表中获取数据,如果它在另一个表中有值

时间:2013-04-27 04:33:20

标签: mysql

我有两个mysql表

myTabs

  1. ID
  2. 用户代码
  3. tab_id
  4. tablistid
  5. 标签

    1. tab_id
    2. 标题
    3. 用户代码
    4. ACCESS_TYPE
    5. 问题
    6. 两个表都将tab_id作为主键并使用相同的值。我想列出来自mytabs表的数据,该表在Tabs Table和access_type = 1中具有相同的tab_id。我不想列出Tabs中的记录,查询应该只从Tabs验证,如果该Tab具有access_type 1那么它应该列出

      有可能吗?我正在尝试的是它没有返回任何东西。

       $mysql = "select  mytabs.*, tabs.* FROM mytabs, tabs  where mytabs.usercode='$usercode' and (mytabs.fid IS NULL || mytabs.fid='0') and tabs.access_type = '1' order by mytabs.tablistid asc"
      

2 个答案:

答案 0 :(得分:2)

您可以使用INNER JOIN

select * from tabs INNER JOIN myTabs ON tabs.tab_id = myTabs.tab_id

并在where子句中附加其他条件。

INNER JOIN做的是只有当两个表中至少有一行时才返回行 匹配连接条件。

答案 1 :(得分:1)

使用此查询

SELECT * FROM Shortcut s
INNER JOIN Tabs t
ON s.tab_id=t.tab_id
WHERE t.access_type=1 AND t.usercode = '$usercode'