在sql表中创建关系

时间:2017-06-19 06:40:14

标签: php mysql sql relationship

假设我有2个表,其中pid和id是主键和自动增量

  1. 发布包含列

    pid | post|     
    
  2. 链接包含列

    id | pid | name
    
  3. 我何时获取发布数据(假设我知道[name],我想获取postid)

    我可以使用像

    这样的两个循环在php中执行此操作
    $b=mysqli_query($connect,"SELECT pid FROM linking WHERE name='bla'")
    while($a=mysqli_fetch_array($b)){
        $c=mysqli_fetch_array(mysqli_query($connect,"SELECT post FROM posting WHERE pid='$a["pid"]' LIMIT 1"))
    }
    

    但是我知道如果有人可以帮我查询

    ,那么在sql中使用关系有更好的方法

    我看,但找到了一些我不理解的内部联接

1 个答案:

答案 0 :(得分:0)

这应该这样做:

SELECT pid FROM linking
JOIN SELECT posting on linking.pid=posting.pid
 WHERE linking.name='bla'

如果你只想要第二张表的第一行,你可以这样做:

SELECT *
  FROM linking
  LEFT JOIN posting a ON posting.pid = (
    SELECT
      MIN(posting.pid) pid2
    FROM posting p2
    WHERE p2.pid2 = linking.pid
  )
WHERE Linking.name='bla'