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
Login with Facebook

Elan qutusu

Son cavablar və şərhlər

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

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

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

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

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

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

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

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

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

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

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

Azad cavab verdi - Windows 11 FPS drop (37 gün əvvəl)

AGAPROGRAMM cavab verdi - Kompyuterimin çox gec yanmasının səbəbləri nədir ? Necə düzəldərəm ? (40 gün əvvəl)

Ayaz2550 cavab verdi - 1ci qrupda informatika üzre imtahan vermek (41 gün əvvəl)

Ayaz2550 cavab verdi - Windows 11 FPS drop (41 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ş 23307 sualdan 92%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

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