SELECT
B_PO.DOCNO AS MatIOID ,
(SELECT D.VALUE1_CODE FROM M_ATTRIBUTESETINSTANCE D, M_ATTRIBUTEVALUE X WHERE
D.VALUE1_ID =X.ID AND B_POITEM.M_ATTRIBUTESETINSTANCE_ID=D.ID ) AS colorid,
substring((SELECT NO FROM m_product_alias WHERE id=B_POITEM.M_PRODUCTALIAS_ID ) ,1,6) as panshu FROM
B_POITEM, B_PO WHERE B_POITEM.B_po_id=B_PO.id
这个是在SQL上的语句,ORACLE语句该如何写?谢谢
B_PO.DOCNO AS MatIOID ,
(SELECT D.VALUE1_CODE FROM M_ATTRIBUTESETINSTANCE D, M_ATTRIBUTEVALUE X WHERE
D.VALUE1_ID =X.ID AND B_POITEM.M_ATTRIBUTESETINSTANCE_ID=D.ID ) AS colorid,
substring((SELECT NO FROM m_product_alias WHERE id=B_POITEM.M_PRODUCTALIAS_ID ) ,1,6) as panshu FROM
B_POITEM, B_PO WHERE B_POITEM.B_po_id=B_PO.id
这个是在SQL上的语句,ORACLE语句该如何写?谢谢
select * from table where a in (select a from mmf )
这条sql可以在oracle执行的,但table表中一定要有a列。
SELECT
B_PO.DOCNO AS MatIOID ,
(SELECT D.VALUE1_CODE FROM M_ATTRIBUTESETINSTANCE D, M_ATTRIBUTEVALUE X WHERE
D.VALUE1_ID =X.ID AND B_POITEM.M_ATTRIBUTESETINSTANCE_ID=D.ID ) AS colorid,
substring((SELECT NO FROM m_product_alias WHERE id=B_POITEM.M_PRODUCTALIAS_ID ) ,1,6) as panshu FROM
B_POITEM, B_PO WHERE B_POITEM.B_po_id=B_PO.id 只修改一下substr函数就可以了。
--第一个只要将
substring((SELECT NO FROM m_product_alias WHERE id=B_POITEM.M_PRODUCTALIAS_ID ) ,1,6) as panshu
改为
(SELECT substr(NO,1,6) FROM m_product_alias WHERE id=B_POITEM.M_PRODUCTALIAS_ID) as panshu--第二个语句不需要修改
SELECT B_PO.DOCNO MATIOID,
(SELECT D.VALUE1_CODE
FROM M_ATTRIBUTESETINSTANCE D, M_ATTRIBUTEVALUE X
WHERE D.VALUE1_ID = X.ID
AND B_POITEM.M_ATTRIBUTESETINSTANCE_ID = D.ID) COLORID,
SUBSTR((SELECT NO
FROM M_PRODUCT_ALIAS
WHERE ID = B_POITEM.M_PRODUCTALIAS_ID),
1,
6) PANSHU
FROM B_POITEM, B_PO
WHERE B_POITEM.B_PO_ID = B_PO.ID
select * from table_a where iotime between '2011-05-08' and '2011-05-10' 谢谢!
select * from table_a
where iotime between to_date('2011-05-08','yyyy-mm-dd') and to_date('2011-05-10','yyyy-mm-dd')-- 日期区间查询,一般最好不要用 between ... and ... ,其详细原因,请参考:
http://topic.csdn.net/u/20110324/09/12bf9066-57c8-4cdf-8481-d9efad646c5c.html