Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL Pilih Ini dan Itu

Ada dua opsi yang cukup mudah.

Anda dapat bergabung dua kali dengan tabel penjualan, sekali per item. Jika Anda melewatkan DISTINCT , Anda mungkin mendapatkan nilai duplikat jika toko menjual lebih dari satu palu atau termometer.

SELECT DISTINCT s.shopname
FROM shops s
JOIN sale s1 ON s.shopcode = s1.shopcode AND s1.product='hammer'
JOIN sale s2 ON s.shopcode = s2.shopcode AND s2.product='thermometer';

...atau Anda dapat menemukan semua korek api dengan palu atau termometer dan menghitung berapa banyak nilai berbeda yang ada. Jika ada dua kemungkinan nilai dan Anda mendapatkan keduanya, Anda sudah siap.

SELECT s.shopname
FROM shops s
JOIN sale s1 ON s.shopcode = s1.shopcode
WHERE s1.product IN('hammer','thermometer')
GROUP BY s.shopname
HAVING COUNT(DISTINCT s1.product)=2;

Sebuah SQLfiddle untuk menguji keduanya .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Panggil pemicu setelah transaksi dilakukan

  2. mysql STR_TO_DATE tidak berfungsi

  3. Bagaimana cara terhubung ke host lokal menggunakan JDBC?

  4. Tidak mendapatkan output yang diinginkan setelah menjalankan QoQ

  5. Hitung median dikelompokkan berdasarkan hari