Попытка получить одну строку из двух (или более) разных строк - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь получить одну строку из двух (или более) разных строк с именем изображения и IsOriginal = 1 на основе одного и того же штрих-кода (или идентификатора).

Вот моя таблица, например:

Продукты

---------------------------------------------------------------
|  id  | IsOriginal |    Name    |    Brcode    |    Image    |
---------------------------------------------------------------
|  1   |     0      |   Pasta    |  123456789   |  pasta.jpg  |
---------------------------------------------------------------
|  1   |     1      |   Pasta    |  123456789   |     NULL    |
---------------------------------------------------------------

Я пытаюсь привести это:

---------------------------------------------------------------
|  id  | IsOriginal |    Name    |    Brcode    |    Image    |
---------------------------------------------------------------
|  1   |     1      |   Pasta    |  123456789   |  pasta.jpg  |
---------------------------------------------------------------

Вот мой код:

SELECT id, IsOriginal, Name, Brcode, Image
FROM Products
WHERE IsOriginal = 1 AND Image IS NOT NULL

1 Ответ

0 голосов
/ 20 апреля 2020

Вы можете попробовать следующее

SELECT 
    p1.id, 
    p1.IsOriginal, 
    p1.Name, 
    p1.Brcode, 
    p2.Image as Image
FROM Products p1
join Products p2
on p1.id = p2.id
where p1.IsOriginal = 1
and p2.Image is not null

Вывод:

id  IsOriginal  Name    Brcode        Image
----------------------------------------------
1       1      Pasta    123456789   pasta.jpg
...