MySQL sorğu

Hər kəsə salam. MySQL sorğuya aid sualım var.
Deməli belə, aşağıda 2 cədvəl qeyd etmişəm.

1CREATE TABLE `sites` (
2  `id` int(11) NOT NULL auto_increment,
3  `site_url` varchar(100) NOT NULL,
4  PRIMARY KEY  (`id`)
5) ENGINE=MyISAM;
6 
7 
8CREATE TABLE `votes` (
9  `id` int(11) NOT NULL auto_increment,
10  `site_id` int(11) NOT NULL default '0',
11  `user_id` int(11) NOT NULL default '0',
12  PRIMARY KEY  (`id`)
13) ENGINE=MyISAM;

Birinci cədvəldə saytların ünvanları olacaq.
İkinci cədvəldə, hər bir istifadəçinin hansı sayta səs verməsi haqqda məlumatlar əlavə ediləcək.
Sualım belədir, necə etmək olar ki, 1 və ya 2 mysql sorğu ilə 2-ci cədvələ əsasən istifadəçinin
1-ci cədvəldə olan saytlardan hansına səs verməyibsə onları emal etsin.
Misalçün 1-ci cədvəldə 20 sayt var, onların 5-nə İD nömrəsi 1 olan, 10-na İD nömrəsi 2 olan, 15-nə İD nömrəsi 3 və s. olan
istifadəçilər səs verib. Belə olduqda yerdə qalan səs verilməyən saytların siyahısı hər bir istifadəçi üçün göstərilsin.
Cavablar`ınızı gözləyəcəm. Təşəkkür!


Yadda saxlama
Kateqoriya: Proqramlaşdırma . , . Qısa keçid.

Verilmiş cavablar və yazılan şərhlər (5 cavab var)

(19:20, 19/09/2011 ) #3961

Ola bilər hər hansı sətirin Tipini də düz qeyd etməmişəm, bunu da nəzərə almanızı istərdim!

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(22:51, 19/09/2011 ) #3964
1select * from sites s
2where s.id not in (
3    select site_id  from votes where user_id=p_user_id
4)
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(22:53, 19/09/2011 ) #3965

Bu variant daha sürətli işləyəcək:

1select * from sites s
2where not exists (
3    select 1
4    from votes v
5    where v.site_id=s.site_id and v.user_id=p_user_id
6)

p_user_id – sizin user id parametridir.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(23:25, 19/09/2011 ) #3966

İmkan olsaydı +10 verərdim. Əla cavab oldu!

Minnətdaram, çox kömək etmiş oldunuz. Allah razı olsun.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(23:27, 19/09/2011 ) #3968

Buyurun, xoşdur 🙂

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Bu suala aid öz sualım var:
Sual verin
Bu suala cavab vermək istəyirəm:
Cavab verin

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Son cavablar və şərhlər

E. Hacı cavab verdi - Elektron servis xidmətləri (16 gün əvvəl)

cavaninsan cavab verdi - Amerika səhmləri (25 gün əvvəl)

Software Developer cavab verdi - Amerika səhmləri (25 gün əvvəl)

SN cavab verdi - Kripto vergi (34 gün əvvəl)

Nicat97 cavab verdi - ilkaddimlar.com-a nə oldu? (41 gün əvvəl)

nicatmemmedli cavab verdi - Proqramlaşdırma - fəlsəfə (44 gün əvvəl)

nicatmemmedli cavab verdi - ilkaddimlar.com-a nə oldu? (44 gün əvvəl)

Software Developer cavab verdi - ilkaddimlar.com-a nə oldu? (55 gün əvvəl)

E. Hacı cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (64 gün əvvəl)

Triste cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (66 gün əvvəl)

E. Hacı cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (66 gün əvvəl)

Triste cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (66 gün əvvəl)

E. Hacı cavab verdi - Telefon almışam kamerasında ləkə var qaytarmaq istəyirəm, mağaza qaytarmır (66 gün əvvəl)

Software Developer cavab verdi - Rus dili yatırımı (67 gün əvvəl)

Cənab cavab verdi - Rus dili yatırımı (67 gün əvvəl)

Software Developer - 615 xal

E. Hacı - 608 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 434 xal

Maqa - 346 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Sistemə daxil olmuş 23311 sualdan 92%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2025