【问题标题】:Selecting rows based on data from two tables根据两个表中的数据选择行
【发布时间】:2012-07-31 20:03:06
【问题描述】:

我正在尝试学习如何将一个表中的数据与另一个表相关联。

假设我有一个名为“car ids”的表,其中只包含存储在单独表中的汽车的 ID。这个“单独的”表称为“汽车”,其中包含汽车 ID、品牌和型号。

我正在尝试提出一个 mysql 语句,通过将汽车 id 表中的 id 与汽车表相关联来从汽车表中选择行。

类似:

mysql_select("SELECT * FROM cars WHERE id=["SELECT id FROM car_id"]");

感谢任何建议。

【问题讨论】:

    标签: mysql


    【解决方案1】:

    您正在寻找JOIN。对于您的示例,如下所示:

    SELECT * FROM `cars` C
    JOIN `ids` I ON C.id=C.car_id
    

    请注意,连接两个表有很多不同的方法;您将需要更好地指定您需要什么,或者开始阅读连接。

    【讨论】:

      【解决方案2】:

      你必须使用JOIN

      SELECT * FROM cars INNER JOIN car_id on cars.id=car_id.id
      

      【讨论】:

        【解决方案3】:

        试试这个...

        SELECT cars.*, cars_id.*
        FROM cars
        LEFT JOIN cars_id
        ON cars_id.id = cars.id
        

        【讨论】:

          【解决方案4】:

          我不知道为什么你会有一个只有汽车 ID 的表,然后是一个包含这些汽车信息的表,但这是你需要的那种查询

          SELECT cars.* FROM cars JOIN ids on cars.id = ids.car_id
          

          关键是使用JOINs

          【讨论】:

          • 哈哈,我很难想出一个例子……相信我,我没有一张只有车牌的表格;)谢谢!这行得通。
          【解决方案5】:
          Select * FROM cars,ids where cars.id=ids.id and ids.id={something}
          

          其中 {something} 是 id 的一些条件

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-01-01
            • 1970-01-01
            • 2011-09-06
            • 1970-01-01
            • 2020-09-04
            • 1970-01-01
            • 1970-01-01
            • 2019-12-26
            相关资源
            最近更新 更多