我想从access 表中倒入到arcgis, 可是一直提示没有 Object-ID,没有这个就不能在图层上查询等操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我想从access 表中倒入到arcgis, 可是一直提示没有 Object-ID,没有这个就不能在图层上查询等操作相关的知识,希望对你有一定的参考价值。

access表的内容有,经纬度等信息,请问怎么样生成 object-ID,我看了其他图层的信息,一般这个字段类型是,Object-ID, 名称是 FID

将这个层导出然后再重新加载新图层就会有objectid了。 参考技术A 不可以追问

请问,有办法把这个表放到图层吗?如果没有objectid,就不能查询,请问有什么方法可以解决

我想从 2 个不同的表中进行连接查询,我想从两个表中输出

【中文标题】我想从 2 个不同的表中进行连接查询,我想从两个表中输出【英文标题】:I want to do join query from 2 different table and i want output from both table 【发布时间】:2018-08-25 09:51:36 【问题描述】:

我应用 LEFT JOINRIGHT JOIN 查询从两个表中获取输出。

有两个表:

Product_list 的第一个表.. 此表包含 category_id,它是外键和所有其他产品详细信息..

product_images的第二个表..这个表包含product_id,它是外键和产品图像分开..

我想要特定 category_id 的产品详细信息和产品图片..

我使用这个查询但不能正常工作:

SELECT * 
FROM product_list
LEFT JOIN product_images ON product_list.pro_id = product_images.pro_id
WHERE product_list.cat_id =  '.$id.'
UNION 
SELECT * 
FROM product_list
RIGHT JOIN product_images ON product_list.pro_id = product_images.pro_id   

我得到这个输出:

API 代码

<?php
error_reporting(0);

$response = array();

require_once __DIR__ . '/db_Connect.php';

// check for post data
if (isset($_GET["cat_id"])) 

    $id = $_GET['cat_id'];

    // get a product from products table
    //$q="SELECT * FROM product_list WHERE cat_id ='".$id."' ORDER BY pro_id DESC ";
    $q="SELECT * 
FROM product_list
LEFT JOIN product_images ON product_list.pro_id = product_images.pro_id
WHERE product_list.cat_id =  '.$id.'
UNION 
SELECT * 
FROM product_list
RIGHT JOIN product_images ON product_list.pro_id = product_images.pro_id WHERE product_list.cat_id =  '.$id.'";
    //print($q);
    $res = mysql_query($q);
    print($res);
    //exit();
    if (mysql_num_rows($res) > 0) 

        $responce["category_sub_list"]=array();

        // check for empty result
        while($result = mysql_fetch_array($res)) 

        $product=array();
        $product['pro_id']=$result['pro_id'];
        $product['cat_id']=$result['cat_id'];  
        $product['product_name']=$result['product_name'];
        $product['image']="http://friendzfashionz.com/pandora/admin/Sub_uploads/".$result['image'];
        $product['product_desc']=$result['product_desc'];

        array_push($responce["category_sub_list"],$product);
         
         $responce["success"]=1;
         echo json_encode($responce);

     else 
        // no product found
        $response["success"] = 0;
        $response["message"] = "No user found";

        // echo no users JSON
        echo json_encode($response);
    
 else 
    // required field is missing
    $response["success"] = 0;
    $response["message"] = "Required field(s) is missing";

    // echoing JSON response
    echo json_encode($response);

?>

【问题讨论】:

您当前的输出是什么,您的预期输出是什么?可以在这里发帖吗? 最后一张照片是当前输出@SmitRaval 你能试试我在回答中发布的查询吗? 它在 php myadmin 中可以正常工作,但在我的 API 中却没有...@SmitRaval 请用所有代码更新您的问题,以便我为您提供帮助。 【参考方案1】:

请试试这个查询。您需要在两个查询中应用 where 条件。

SELECT * 
FROM product_list
LEFT JOIN product_images ON product_list.pro_id = product_images.pro_id
WHERE product_list.cat_id =  '.$id.'
UNION 
SELECT * 
FROM product_list
RIGHT JOIN product_images ON product_list.pro_id = product_images.pro_id WHERE product_list.cat_id =  '.$id.'  

【讨论】:

以上是关于我想从access 表中倒入到arcgis, 可是一直提示没有 Object-ID,没有这个就不能在图层上查询等操作的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 MYSQL 查询访问 Ms-Access 数据库

ArcGIS图层添加字段出现:“定义了过多字段”

删除记录而不删除另一个 Access 表中的相关记录

将 Access 表导出到 Excel,但每个名称都有不同的工作表

我想从表中获取行 ID

将变量从 Access(前端)传递到 Oracle(后端)存储过程