क्या कोई मदद कर सकता है?

Saya menggunakan Microsoft Report Builder, dan ingin menambahkan pesan yang menyatakan "Tidak ada data yang tersedia" ketika tidak ada data yang masuk ke tabel.

Setiap kali saya menggunakan "norowsmessage" di properti atau menggunakan = negara ()> 0 ekspresi di salah satu baris, tampaknya tidak berfungsi. Saya terus mendapatkan baris kosong atau kosong dua baris! Dan pesan tidak muncul sama sekali. Ini seperti data kosong datang yang tidak masuk akal. Dan jika saya memastikan ada data nyata yang terlihat baik-baik saja. Bisakah seseorang memberi tahu saya apa yang saya lakukan salah?

enter image description here enter image description here

Info yang diperbarui:

declare @MeetingSessionID varchar(500)
set @MeetingSessionID = '160165815460010151522-101523-4111510-14142220'

select distinct vl.originalChatSessionID
      ,vl.applicationUserID
      ,vl.pharmaID
      ,vl.UserName
      --,isnull(ph.FirstName,'') as 'First Name'
      --,isnull(ph.MiddleName,'') as 'Middle Name'
      --,isnull(ph.LastName,'') as 'Last Name'
      --,phm.CompanyName
      ,isnull(dr.Title,'') as 'Title'
      ,isnull(dr.FirstName,'') as 'First Name'
      ,isnull(dr.MiddleName, '') as 'Middle Name'
      ,isnull(dr.LastName, '') as 'Last Name'
      ,isnull(dr.Name, '') as 'Name'
      , null as 'Specialty'
from iclickphrDxvideolog vl
    --inner join iclickphrDxpharmacy ph
    --  on ph.pharmacyProfileID = vl.applicationUserID
    --inner join iclickphrDxpharmacy_Main phm
    --  on phm.pharmacyID = ph.PharmacyID
    inner join iclickphrDxdoctor dr
        on dr.DoctorID = vl.pharmaID


where vl.originalChatSessionID = @MeetingSessionID

Jadi misalnya saya hanya ingin melihat nama tengah di tabel dan itu ... tapi kolom kosong ... Saya mendapatkan dua baris kosong kembali ... Saya ingin mengatakan "tidak ada data yang tersedia". Saya tahu bahwa obrolan adalah apa yang membawa kembali dua baris ... tetapi saya perlu memilikinya di sana beberapa caranya .... untuk mengeluarkan data dari tabel lain.

0
Lern2LveWithIt 8 अक्टूबर 2020, 17:17

1 उत्तर

सबसे बढ़िया उत्तर

Saya tidak yakin saya sepenuhnya memahami situasi mengenai kurangnya tabel yang sebenarnya tetapi Anda dapat mengejek beberapa data dalam kueri dataset Anda dan menggunakannya.

Versi sederhana mungkin terlihat seperti (ubah tipe data agar sesuai dengan data nyata Anda)

DECLARE @iclickphrDxvideolog TABLE([Video Name] Varchar(100), [Video length] int, originalCharSessionID varchar(500), applicationUserID int, pharmaID int, UserName varchar(256))
INSERT INTO @iclickphrDxvideolog VALUES
('My first Video', 10, '160165815460010151522-101523-4111510-14142220', 1234, 1, 'Bob'),
('My second Video', 20, '160165815460010151522-101523-4111510-14142220', 3456, 1, 'Dave')

declare @MeetingSessionID varchar(500)
set @MeetingSessionID = '160165815460010151522-101523-4111510-14142220'

select distinct vl.originalChatSessionID
      ,vl.applicationUserID
      ,vl.pharmaID
      ,vl.UserName
      ,isnull(dr.Title,'') as 'Title'
      ,isnull(dr.FirstName,'') as 'First Name'
      ,isnull(dr.MiddleName, '') as 'Middle Name'
      ,isnull(dr.LastName, '') as 'Last Name'
      ,isnull(dr.Name, '') as 'Name'
      , null as 'Specialty'
from @iclickphrDxvideolog vl -- <= swapped out for table variable for testing
    inner join iclickphrDxdoctor dr
        on dr.DoctorID = vl.pharmaID
where vl.originalChatSessionID = @MeetingSessionID

Jika Anda menguji dengan ID sesi selain '160165815460010151522-101523-4111510-14142220', Anda harus mendapatkan 0 baris dikembalikan.

1
Alan Schofield 8 अक्टूबर 2020, 16:52