Как написать представление - PullRequest
0 голосов
/ 12 августа 2011

У меня есть две таблицы: headeritems и lineitems.

Таблица HeaderItems выглядит следующим образом:

enter image description here

Таблица Lineitems

enter image description here

Первичный ключ элементов заголовка: SrNo, Prefix, TicketNo и Notification Первичный ключ позиций: SubSrNo, Prefix, TicketNo, NotificationNo

Если в флаге серийного номера таблицы элементов заголовка содержится 'X', то в таблицу lineItems будет введена запись в зависимости от поля Обязательный Qty, т. Е. Если обязательный qty содержит 2, то в таблице Lineitems будет 2 записи.

Теперь я хочу создать представление, которое даст мне вывод следующим образом:

Notification   Raw material   Serial number 
-------------------------------------------
34186          68
34186          4110           345345
34186          4110           534557

Это поле серийного номера отсутствует в элементах заголовка, оно присутствует только в позициях.

Ответы [ 2 ]

0 голосов
/ 12 августа 2011

Читайте о JOIN's.

CREARE VIEW vwNotification
AS
SELECT HI.Notification, HI.Raw material, LI.Serial_number
FROM HeaderItems HI 
     LEFT JOIN LineItems LI ON HI.Notification=LI.Notification_No 
                               and HI.Raw_material=HL.Raw_material
ORDER BY HI.Notification, HI.Raw material, LI.Serial_number
0 голосов
/ 12 августа 2011
SELECT Notification, [Raw material], [Serial number]
FROM (
    SELECT Notification, [Raw material], NULL [Serial number], 1 ord
    FROM HeaderItems
    WHERE Notification = ...
  UNION
    SELECT Notification, [Raw material], [Serial number], 2 ord
    FROM Lineitems
    WHERE Notification = ...
)
ORDER BY Notification, ord, [Raw material], [Serial number]

Для этого нужно объединить две таблицы (UNION), добавив при этом дополнительный столбец, используемый только для сортировки, и убедитесь, что элементы заголовка отображаются выше элементов строки.

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