2011-08-12 6 views
0

私は2つのテーブル:headeritemslineitemsを持っています。ビューを書く方法

HeaderItemsテーブル次のようにヘッダ項目の

enter image description here

LINEITEMSテーブル

enter image description here

主キー:SrNo、プレフィックス、TicketNoおよび通知申込の 主キー:SubSrNoを、プレフィックス、チケット番号、通知番号

ヘッダ項目テーブルのシリアル番号フラグに 'X'が含まれている場合、必要な数量フィールドに応じてlineItemsテーブルにエントリがあります。つまり、必要な数量に2が含まれている場合、Lineitemsテーブルに2つのエントリがあります。

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

それはラインアイテムでのみ存在するヘッダ項目ではありませんが、このシリアル番号フィールド:

は今、私は次のように私に出力を与えるビューを作成します。これは何

答えて

0
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] 

はソートしてくださいheaderitemsは、上記のLineItemsを表示するためにのみ使用される追加の列を追加しながら、二つのテーブル(UNION)を組み合わせることです。

0

JOINについて読む。

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

結合条件にRaw_materialを含めることは正しくありません。 – Ariel

+0

なぜですか?私はそれについて何の理由も見ません。 –

+0

'Raw_material'は各テーブルの異なるデータ型に似ています。私は主キー '(SrNo、Prefix、T icketNo、Notification_No)'に参加すると思います。 – onedaywhen

関連する問題