Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Pomogite plz [D6, MSSQL, MySQL]


sizmrebi ©   (2002-07-22 17:43:00) 

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


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

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

Sposibo Vsem cho tak vnimatelno otnoslis k moemu problemu.


Johnmen   (2002-07-23 17:07:00) [2]

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


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

>rvs © (23.07.02 16:40)

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

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


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

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

Факты :
источник ---книга 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:27:00) [5]

>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:19:00) [6]

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


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

AlexSV - прав.

С уважением.


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

>AlexSV © (23.07.02 10:53)

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


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

> Johnmen

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


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

>AlexSV © (23.07.02 10:38)

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

>sizmrebi ©

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


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

> 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 09:27:00) [11]

>Cobalt © (22.07.02 18:59)

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

>sizmrebi ©

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо