Ερώτηση για εμφάνιση πεδίων

Συζητήσεις για τον Microsoft SQL Server

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
txc
Δημοσιεύσεις: 626
Εγγραφή: 02 Δεκ 2003 23:08

Ερώτηση για εμφάνιση πεδίων

Δημοσίευση από txc » 26 Απρ 2015 16:50

βασικά να το αλλάξω λίγο γιατί από την αρχή το διατύπωσα λάθος, έχω τη παρακάτω δομή:

user status status1
1 12 AC <--
1 12 DC
1 13 AC <--
2 14 AC <--
3 15 DC <--
3 15 ΕC
4 16 AC <--
5 17 AC <--


Που σημαίνει
θέλω όλους τους users για αρχή οι οποίοι θα έχουν μια μοναδική εγγραφή στο πίνακα status και για όσους users βρω περισσότερες από μια ίδιες εγγραφές στο πίνακα status να φέρω να φέρω αυτή που θα έχω βρει πρώτη με status1 desc

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Ερώτηση για εμφάνιση πεδίων

Δημοσίευση από dva_dev » 26 Απρ 2015 19:21

Κώδικας: Επιλογή όλων

select &#91;user&#93;, &#91;status&#93;, MIN&#40;&#91;status1&#93;&#41; status1
from &#91;status&#93;
group by &#91;user&#93;,&#91;status&#93;

txc
Δημοσιεύσεις: 626
Εγγραφή: 02 Δεκ 2003 23:08

Ερώτηση για εμφάνιση πεδίων

Δημοσίευση από txc » 26 Απρ 2015 20:31

πάλι με το min δε θα φέρει τη πρώτη τυχαία εγγραφή που θα βρει?
γιατί εγώ θέλω τη πρώτη που θα βρεί αφού έχει σορτάρει με status1 desc

txc
Δημοσιεύσεις: 626
Εγγραφή: 02 Δεκ 2003 23:08

Ερώτηση για εμφάνιση πεδίων

Δημοσίευση από txc » 27 Απρ 2015 11:11

το μόνο πρόβλημα είναι αν θέλω να φέρω και άλλο column στο select το οποίο όμως δε θέλω να το βάλω στο GROUP by

txc
Δημοσιεύσεις: 626
Εγγραφή: 02 Δεκ 2003 23:08

Ερώτηση για εμφάνιση πεδίων

Δημοσίευση από txc » 27 Απρ 2015 13:07

τελικά το έλυσα έτσι :

Κώδικας: Επιλογή όλων

select 
a.user
,a.status
,a.status1
,a.date
from test
inner join 
&#40;select user,status,min&#40;status1&#41; as status2 from test
group by user,status&#41; as b
on a.user = b.user and a.status=b.status and a.status1 = b.status2

Απάντηση

Επιστροφή στο “MS SQL Server”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες