Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL-如何使用不同的值选择同一列两次?_Sql_Ms Access - Fatal编程技术网

SQL-如何使用不同的值选择同一列两次?

SQL-如何使用不同的值选择同一列两次?,sql,ms-access,Sql,Ms Access,嘿,伙计们 我有以下数据库表: 我想在PROD\u VERS\u ALLOC\u ID列后面获取产品名称。如果只有一个列,而不是两个(_A和_B),这将是相当容易的,但是,我不确定如何从两个PROD\u VERS\u ALLOC\u ID列引用产品名称 下面是我的SQL查询现在的样子: SELECT p.PROD_NAME, pv.PROD_VERS_NAME, cl.COMPA_LVL_NAME FROM TBL_PROD AS p, TBL_PROD_VERS AS pv, TBL_PRO

嘿,伙计们

我有以下数据库表:

我想在PROD\u VERS\u ALLOC\u ID列后面获取产品名称。如果只有一个列,而不是两个(_A和_B),这将是相当容易的,但是,我不确定如何从两个PROD\u VERS\u ALLOC\u ID列引用产品名称

下面是我的SQL查询现在的样子:

SELECT p.PROD_NAME, pv.PROD_VERS_NAME, cl.COMPA_LVL_NAME
FROM TBL_PROD AS p, TBL_PROD_VERS AS pv, TBL_PROD_VERS_ALLOC AS pva, TBL_COMPA_LVL AS cl, TBL_COMPA AS c
WHERE p.PROD_ID=pva.PROD_ID And pv.PROD_VERS_ID=pva.PROD_VERS_ID And cl.COMPA_LVL_ID=c.COMPA_LVL_ID And pva.PROD_VERS_ALLOC_ID=c.PROD_VERS_ALLOC_ID_B
And p.PROD_ID=66;
基本上我需要的是

SELECT p.PROD_NAME_A, p.PROD_NAME_B, [....]
PROD_NAME_A必须是PROD_VERS_ALLOC_ID_A中的ID名称,PROD_NAME_B必须是PROD_VERS_ALLOC_ID_B中的产品名称

有人对如何实现这一点有想法吗?我需要做子查询还是什么

致以最良好的祝愿, 达扎

我觉得没关系:

    SELECT pa.PROD_NAME, pb.PROD_NAME, pv1.PROD_VERS_NAME, pv2.PROD_VERS_NAME,cl.COMPA_LVL_NAME

    FROM TBL_PROD AS pa, TBL_PROD AS pb,TBL_PROD_VERS AS pv1, TBL_PROD_VERS AS pv2,
TBL_PROD_VERS_ALLOC AS pva, TBL_PROD_VERS_ALLOC AS pvb, 
TBL_COMPA_LVL AS cl, TBL_COMPA AS c

    WHERE 
    pa.PROD_ID=pva.PROD_ID And 
    pv1.PROD_VERS_ID=pva.PROD_VERS_ID And 
    pva.PROD_VERS_ALLOC_ID=c.PROD_VERS_ALLOC_ID_A And 

    pb.PROD_ID=pvb.PROD_ID And 
    pv2.PROD_VERS_ID=pvb.PROD_VERS_ID And 
    pvb.PROD_VERS_ALLOC_ID=c.PROD_VERS_ALLOC_ID_B And 

    cl.COMPA_LVL_ID=c.COMPA_LVL_ID And     
    p.PROD_ID=66;

这是SQL Server还是MS Access?Access…………你有SQL Server的标签,这就是我问的原因。刚刚意识到。必须已单击建议的标记。修好了