Данные не отображаются в SQL - PullRequest
0 голосов
/ 15 апреля 2011

У меня очень простая проблема, но я не могу ее решить, так как я новичок в мире SQL.Вот как появляются мои данные при попытке извлечь их из сценария SQL.

SUPPLIERID PRODUCTID DESCRIPTION SUPPLIERID 
-             -           -         1 
-             -           -         4 
-             -           -         3 
-             -           -         2 
2A            1       Metal Piece   -  
3A            2      Plastic Piece  -  
4A            3         Hinges      -  
5A            4         Hooks       -  

Это мой код

select   "PRODUCT1"."SUPPLIERID" as "SUPPLIERID",        
  "PRODUCT1"."PRODUCTID" as "PRODUCTID",
  "PRODUCT1"."DESCRIPTION" as "DESCRIPTION",
  "SUPPLIER"."SUPPLIERID" as "SUPPLIERID" 
FROM "SUPPLIER" 
FULL OUTER JOIN PRODUCT1
ON supplier.supplierid = product1.supplierid

Если я сделаю левое или правое соединение, я получу только один столбец информации.Как я могу получить все столбцы для заполнения в 4 строки?

Ответы [ 2 ]

0 голосов
/ 15 апреля 2011

Идентификатор поставщика не совпадает.Если «1A» должно соответствовать «1», то вы должны сделать это (SQL Server):

select   "PRODUCT1"."SUPPLIERID" as "SUPPLIERID",        
         "PRODUCT1"."PRODUCTID" as "PRODUCTID",
         "PRODUCT1"."DESCRIPTION" as "DESCRIPTION",
         "SUPPLIER"."SUPPLIERID" as "SUPPLIERID" 
FROM "SUPPLIER" INNER JOIN PRODUCT1
ON supplier.supplierid + 'A' = product1.supplierid

Но вы должны делать это только в том случае, если вы ЗНАЕТЕ, ЧТО «1A» должно соответствовать «1».Если нет, то они действительно не должны совпадать, и именно поэтому вы получите этот результат, используя FULL OUTER JOIN.

0 голосов
/ 15 апреля 2011

Ваш product1.supplierid не не соответствует supplier.supplierid.

Таким образом, между строками не происходит никакого реального объединения. Таким образом, вы получаете полную копию каждой таблицы.

вы пытаетесь сопоставить 1, 2, 3, 4 с 2A, 3A, 4A, 5A ( они не соответствуют )

Вы либо объединяете неправильные столбцы ( возможно, вы хотите supplier.supplierid с product1.prdoductid), либо ваши таблицы неправильно связаны ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...