10 EYLÜL 2008, ÇARŞAMBA
Nasıl (ya da ben) birden çok sütun üzerinde FARKLI seçebilirim?
2 sütun kombine farklı bir tablodan tüm satırları almak istiyorum. Aynı fiyata aynı gün gerçekleşen başka bir satış olmayan tüm satış istiyorum. Gün ve fiyat dayalı benzersiz olan satış aktif durumuna güncellenecektir.
Düşünüyorum da:
UPDATE sales
SET status = 'ACTIVE'
WHERE id IN (SELECT DISTINCT (saleprice, saledate), id, count(id)
FROM sales
HAVING count = 1)
Ama beynim herhangi bir uzak daha olacak acıyor.
CEVAP
10 EYLÜL 2008, ÇARŞAMBA
SELECT DISTINCT a,b,c FROM t
kabacaeşdeğer:
SELECT a,b,c FROM t GROUP BY a,b,c
Daha güçlü olarak GROUP BY sözdizimi için kullanılan, almak için iyi bir fikirdir.
Sorgunuz için şu şekilde yapardım:
UPDATE sales
SET status='ACTIVE'
WHERE id IN
(
SELECT id
FROM sales S
INNER JOIN
(
SELECT saleprice, saledate
FROM sales
GROUP BY saleprice, saledate
HAVING COUNT(*) = 1
) T
ON S.saleprice=T.saleprice AND s.saledate=T.saledate
)
Bunu Paylaş:
Nasıl birden çok sütun üzerinde bir İÇ...
Nasıl MySQL birden çok sütun benzersiz...
Nasıl MAX(Sütun değeri), SQL başka bir...
Soket seçenekleri SO_REUSEADDR ve SO_R...
Nasıl bir farklı işlemeye git bir şube...