繁体   English   中英

如何在SQL WHERE子句中获取特定数据

[英]How to obtain specific data in a SQL WHERE clause

我对SQL非常陌生,想知道是否有人可以指导我如何使用SQL文件的WHERE子句获取特定的数据行。 这是我当前的WHERE子句:

CREATE or REPLACE view V_Status1 
AS
    SELECT 
        A.C0401_aid, B.C0401_description DESCR, 
        A.c0432_date DATEREQUIRED, A.C0432_sampl_value_r
    FROM vhis_data A, T0401_accounts B
    WHERE A.C0401_aid = B.C0401_aid 
      AND (B.C0401_aid = 5486 OR B.C0401_aid = 5489 OR B.C0401_aid = 5490);

5486、5489和5490代表我需要数据的帐户,但是我当前的子句对我想要的没有意义。 我需要来自所有三个帐户的数据,而不仅仅是一个。 如果需要任何说明,请告诉我。

您可以使用in运算子

例:

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);

您的情况如下:

WHERE A.C0401_aid = B.C0401_aid AND
B.C0401_aid in(5486,5489,5490);

清理了语法,但这应该执行与当前查询相同的操作。

CREATE or REPLACE view V_GTAAStatus1 AS
SELECT A.C0401_aid, 
       B.C0401_description DESCR, 
       A.c0432_date DATEREQUIRED, 
       A.C0432_sampl_value_r [column_name]
FROM vhis_data A
LEFT JOIN T0401_accounts B on A.C0401_aid = B.C0401_aid
WHERE B.C0401_aid IN (5486,5489,5490);

您正在使用旧版JOIN语法。 @TinyOS答案是正确的,这是您在更广泛接受的当前语法中的原始查询:

CREATE or REPLAC view V_GTAAStatus1 AS
SELECT A.C0401_aid, B.C0401_description DESCR, 
   A.c0432_date DATEREQUIRED, A.C0432_sampl_value_r
FROM vhis_data A
INNER JOIN T0401_accounts B ON A.C0401_aid = B.C0401_aid
WHERE B.C0401_aid IN (5486, 5489, 5490);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM