Discussions
Categories
- 196.8K All Categories
- 2.2K Data
- 238 Big Data Appliance
- 1.9K Data Science
- 450.3K Databases
- 221.7K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 550 MySQL Community Space
- 478 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3K ORDS, SODA & JSON in the Database
- 544 SQLcl
- 4K SQL Developer Data Modeler
- 187K SQL & PL/SQL
- 21.3K SQL Developer
- 295.8K Development
- 17 Developer Projects
- 138 Programming Languages
- 292.5K Development Tools
- 107 DevOps
- 3.1K QA/Testing
- 646K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 155 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.1K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 18 Java Essentials
- 160 Java 8 Questions
- 86K Java Programming
- 80 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 204 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 437 LiveLabs
- 38 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 171 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 232 Portuguese
Oracle Query modification

ORACLE QUERY
CREATE OR REPLACE FORCE VIEW inventory ( "ARTICLENO ", "EAN", "NAME", "BRAND" ) AS SELECT m.ARTICLENO, m.EAN, m.NAME, p.BRAN FROM ITEM m, P_ITEM p WHERE m.ean = p.ean OR m.ARTICLE=p.ARTICLE;
(problem is in m.article=p.article i want only single record when comare not all)
Table = ITEM: as m
ARTICLENO EAN NAME
1 100 a
2 null x
VIEW = P_ITEM as p
ARTICLENO EAN NAME BRAND
1 100 a b1
2 null x b2
2 null x b2
2 null x b2
VIEW = INV_ITEM as inv
ARTICLENO EAN NAME BRAND
1 100 a b1
2 null x b2
VIEW = INV_ITEM
DESIRE RESULT:
ARTICLENO EAN NAME BRAND
1 100 a b1
2 null x b2
BUT GETTING
ARTICLENO EAN NAME BRAND
1 100 a b1
2 null x b2
2 null x b2
2 null x b2
When inserting data in ITEM table I want if Ean is not null then compare by Ean like m.EAN = p.EAN and insert into inv_item
and if Ean is null then compare by article m.ARTICLE = p.ARTICLE but it should be distinct article.
Answers
-
-
Hi, @User_CNU6G
Whenever you have a question, please post a little sample data (CREATE TABLE and INSERT statements for all tables involved, relevant columns only) so the people who want to help you can re-create the problem and test their ideas. Also post the exact results you want from that data, and explain why you want those results from that data. Always post your complete Oracle version (e.g. 18.4.0.0.0).
DESIRE RESULT:
ARTICLENO EAN NAME BRAND
1 100 a b1
2 null x b2
BUT GETTING
ARTICLENO EAN NAME BRAND
1 100 a b1
2 null x b2
2 null x b2
2 null x b2
Maybe you just need SELECT DISTINCT.
-
By the way
CREATE OR REPLACE FORCE VIEW inventory ( "ARTICLENO ",
Avoid using names that require double-quotes; they're hard to use and cause lots of mistakes. A name like "ARTICLENO ", with a trailing space, is especially confusing.