SQL Select语句复杂化

时间:2014-02-24 16:47:07

标签: php sql ajax database

我有两张桌子。一个表有ID,Text。另一个有ID,用户名。

当有人登录页面时,他们有一个用户名id,因此用户名有一个值。

我想从表1中选择ID和TEXT,其中ID与表2中的ID匹配,并且抓取的ID的Username值与登录的人相同。

3 个答案:

答案 0 :(得分:2)

你应该看看SQL中的Joins。

这样的事情:

$query = "SELECT a.ID, a.TEXT FROM table1 a JOIN table2 b ON a.id=b.id WHERE b.id = 'ID of person logged in';  

答案 1 :(得分:1)

t1t2替换为适当的表名。我不确定您使用的语言是什么语言,但要替换为登录用户的值。

SELECT t1.ID, t1.TEXT
FROM t1
LEFT JOIN t2 on t2.ID = t1.ID
WHERE t2.username = '<some username>'

发表评论后,请点击新查询:

$Query = "SELECT LandingPage_Notification.ID, LandingPage_Notification.Title, LandingPage_Notification.HTML,LandingPage_Notification.DateExpiry FROM LandingPage_Notification LEFT JOIN Track_Notification on Track_Notification.ID = LandingPage_Notification.ID WHERE Track_Notification.Track_UserID= '$userName'"; 

答案 2 :(得分:1)

这是一个伪查询,但您可以将其粘贴到查询编辑器中以获得结果。

$ Username是一个可能在URL中作为变量发送的变量。

SELECT ID, TEXT FROM [Table 1] WHERE [ID]=(SELECT TOP 1 [ID] FROM [Table 2] WHERE Username='$Username')

您没有指定数据库类型,因此请记住使用适当的限定符封装表。以上内容适用于SQLServer和Access,但您可能需要使用`而不是MySQL。