Mam dwie tabele: CardInfo i CardItems, więc każda CardInfo może mieć wiele CardItems. Potrzebuję zapytania SQL, aby pobrać unikalne rekordy z CardInfo na podstawie pewnych warunków, które dotyczą zarówno tabel CardInfo, jak i CardItems.

select c.* from CardInfo c, CardItems ci
where c.cr_no = ci.cr_no and ci.wc_id = 'test'

Powyższe zapytanie zwraca zduplikowane rekordy. Proszę zasugerować rozwiązanie.

0
Moawiz Ali 25 czerwiec 2011, 09:34

2 odpowiedzi

Najlepsza odpowiedź

Możesz usunąć zduplikowane rekordy za pomocą DISTINCT

select distinct c.* from CardInfo c, CardItems ci
where c.cr_no = ci.cr_no and ci.wc_id = 'test'
3
Binil 25 czerwiec 2011, 10:30
   select c.* from cardinfo as c innerjoin carditems as ci
        on c.cr_no=ci.cr_no
where ci.wc_id = 'test'
0
rahularyansharma 25 czerwiec 2011, 09:44
Czy u proszę zamieścić obraz danych tabeli. Sprawdzę i wrócę do ciebie jak najszybciej.
 – 
rahularyansharma
25 czerwiec 2011, 09:51
Tylko użycie Distinct zwraca unikalne przedmioty, sprawdź odpowiedź binila
 – 
niktrs
25 czerwiec 2011, 12:13