2013-10-21 47 views
0

我想從5個表中獲取記錄,最後我做了它,但現在我想要獨特的記錄,所以我應該在查詢中更改哪些內容?訪問查詢從多個表中獲取記錄

SELECT 
    t.*, 
    sh.invoice_Number AS sale_inv_no, 
    sh.invoice_date AS sale_inv_date, 
    sh.from_Date AS sale_from, 
    sh.to_Date AS sale_to, 
    sh.number_Of_Months AS sale_nom, 
    c.cName AS cust_name, 
    h.hName AS ho_name, 
    [hSize1] & 'X' & [hSize2] & '=' & [hSize_SQF] AS ho_size, 
    h.hLocation AS ho_loc, 
    c.cMobile AS cust_mob, 
    f.firmName AS firm_name 
FROM 
    (
    (
     (
      adv_tbl_transactions AS t 
     RIGHT JOIN 
      adv_tbl_Sale_Hoardings AS sh 
     ON t.tra_code = sh.transaction_code 
    ) LEFT JOIN adv_tbl_Hoardings AS h 
     ON sh.hid = h.ID 
    ) LEFT JOIN tbl_Firms AS f 
     ON sh.e_fid = f.ID 
) LEFT JOIN tbl_Customers AS c 
    ON sh.cid = c.ID 
WHERE 
    (((t.e_fid)=1)); 

它給我的輸出如下面

srNo | Hoarding | customers | transaction details | advance | balance | total 
1 | Name: h1 | Cust1  | inv no : 1   | 6000  | 1000 | 70000 
2 | Name: h1 | Cust1  | inv no : 1   | 6000  | 1000 | 70000 
3 | Name: h2 | Cust2  | inv no : 2   | 3000  | 1000 | 40000 
4 | Name: h2 | Cust2  | inv no : 2   | 3000  | 1000 | 40000 

我要輸出像下面

srNo | Hoarding | customers | transaction details | advance | balance | total 
1 | Name: h1 | Cust1  | inv no : 1   | 6000  | 1000 | 70000 
2 | Name: h2 | Cust2  | inv no : 2   | 3000  | 1000 | 40000 

我想DISTICT列entry_no

+0

'它給我輸出如下' - 你確定嗎?列是完全不同的!據推測,在實際輸出中右側有更多的列加載......? –

+0

是的,有更多的專欄,但我不能在這裏附上圖像,所以我可以告訴你我的報告的數據,我只是在這裏列出一些專欄 – Raj

+0

其他專欄的內容對於確定爲什麼Nasir的解決方案不適用於您。 –

回答

0

使用distinct關鍵字:

select distinct t.*, 
     sh.invoice_Number AS sale_inv_no, 
     sh.invoice_date AS sale_inv_date, 
     sh.from_Date AS sale_from, 
     sh.to_Date AS sale_to, 
     sh.number_Of_Months AS sale_nom, 
     c.cName AS cust_name, 
     h.hName AS ho_name, 
     [hSize1] & 'X' & [hSize2] & '=' & [hSize_SQF] AS ho_size, 
     h.hLocation AS ho_loc, 
     c.cMobile AS cust_mob, 
     f.firmName AS firm_name 
FROM (((adv_tbl_transactions AS t 
     RIGHT JOIN adv_tbl_Sale_Hoardings AS sh 
     ON t.tra_code = sh.transaction_code) 
     LEFT JOIN adv_tbl_Hoardings AS h 
     ON sh.hid = h.ID) 
     LEFT JOIN tbl_Firms AS f ON sh.e_fid = f.ID) 
     LEFT JOIN tbl_Customers AS c 
     ON sh.cid = c.ID 
WHERE (((t.e_fid)=1)) ; 
+0

我在所有列之前嘗試像「select DISTINCT sh.entry_no」,但它仍顯示重複記錄 – Raj

+0

它顯示與b4相同的重複索引 – Raj

+0

不起作用,顯示重複的索引相同作爲b4 – Raj