[英]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.