2013-04-27 61 views
1

我有两个MySQL表的MySQL从表中获取数据,如果有另一个表中的值

myTabs

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

标签

  1. tab_id
  2. 标题
  3. 用户代码
  4. ACCESS_TYPE
  5. 问题

两个表都tab_id作为主密钥,并使用相同的值。我想列出mytabs表中的数据,它在tabs表和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

您可以使用INNER JOIN

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

where条款附加其他条件。

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

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' 
相关问题