Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.08.12;
Скачать: [xml.tar.bz2];

Вниз

Pomogite plz   Найти похожие ветки 

 
sizmrebi   (2002-07-22 17:43) [0]

Dorogie Mastera,
U menia est takaia problema:
est dva table naprimer table1 (username,password) i table2 (username). Na obichnom MSSQL-e rabotaet sledushee:

select password from table1 where username not in (select username from table2).


A na MySQL-e rugaetsia. Ia znaiu chto u MySQL-a net subquery, no esli kto nibud znaet kak reshit etu problemu pomogite plz. da eschio, ia mogu dat tolko odnu komandu i ia ne mogu delat vremennie tablici.

Zaranee vsem blogodariu


 
Cobalt   (2002-07-22 18:59) [1]

А если так?
select table1.password from table1, table2
where table1.username <> table2.username


 
Johnmen   (2002-07-23 09:27) [2]

>Cobalt © (22.07.02 18:59)

Нет, конечно...

>sizmrebi ©

М.б. взять версию MySQL посвежее ?
Или на уровне приложения....


 
AlexSV   (2002-07-23 10:38) [3]

> sizmrebi

Попробуй так:

select t1.password
from table1 t1
left outer join table2 t2 on t2.username = t1.username
where t2.username is null


 
Johnmen   (2002-07-23 10:47) [4]

>AlexSV © (23.07.02 10:38)

Нет, поскольку where t2.username is null.

>sizmrebi ©

И для начала посмотреть доки на MySQL, что там с синтаксисом, что можно и что нельзя...



 
AlexSV   (2002-07-23 10:53) [5]

> Johnmen

Нет, в смысле MySQL не поддерживает?


 
Johnmen   (2002-07-23 11:40) [6]

>AlexSV © (23.07.02 10:53)

"Нет" по сути. Выбираются записи с username = null, а это не то.


 
rvs   (2002-07-23 16:19) [7]

>>>"Нет" по сути. Выбираются записи с username = null, а это не то


а здесь тогда что у тебя выбирается ???
select password from table1 where username not in (select username from table2).

AlexSV - прав.

С уважением.


 
Johnmen   (2002-07-23 16:27) [8]

>rvs © (23.07.02 16:19)

???????? Не видно разницы ??????????

select password from table1 where username not in (select username from table2)

Выбираются все username из table1, которых нет в table2 !
Так что ты неправ вместе с AlexSV.
:-)



 
rvs   (2002-07-23 16:40) [9]

Я спорить не хочу...

Факты :
источник ---книга MySql, Поль Дюбуа.

стр.214 -
теперь дословно : "Объединение LEFT JOIN для поиска всех t1.i1, отсутствующих в t2.i2, имеет вид : SELECT T1.* FROM T1 LEFT JOIN T2 ON T1.I1=T2.I2 WHERE T2.I2 IS NULL "


С уважением...



 
Johnmen   (2002-07-23 16:55) [10]

>rvs © (23.07.02 16:40)

А я и не спорю. Я давно сказал, что надо смотреть доки на MySQL.
Я же не знал, что он (MySQL) такой извращенец и обычную логику так уродует....:))))

Кстати, фраза приведена дословно ? Есть некоторое сомнение...



 
Johnmen   (2002-07-23 17:07) [11]

Приношу извинения, был невнимателен, не заметил LEFT.:(


 
sizmrebi   (2002-07-24 08:23) [12]

Sposibo Vsem,
Ia Uje reshil problemu s pomoschiu Left Join.
Rabotaet poka chisto:))

Sposibo Vsem cho tak vnimatelno otnoslis k moemu problemu.




Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.08.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
4-35518
Dmk
2002-06-05 00:39
2002.08.12
DeviceContext


1-35297
Ира
2002-07-29 10:36
2002.08.12
Сообщение по Outlook...


1-35351
Abelevich
2002-07-29 19:56
2002.08.12
ShowModal


1-35344
Skif
2002-07-30 12:41
2002.08.12
DOS и текстовый файл


3-35144
Devid
2002-07-20 20:41
2002.08.12
Простой да ужаса вопрос





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский