|
MySQL.RU - Webboard
Вернуться
Помогите написать select скрипт (Juggle) 25/05/2011 - 17:47:12
Re: Помогите написать select скрипт (Akina) 25/05/2011 - 18:00:24
Re: Помогите написать select скрипт (Juggle) 25/05/2011 - 18:12:22
Re: Помогите написать select скрипт (Akina) 25/05/2011 - 18:43:44
Re: Помогите написать select скрипт (Juggle) 25/05/2011 - 19:03:52
Re: Помогите написать select скрипт (Akina) 25/05/2011 - 19:21:32
Re: Помогите написать select скрипт (Juggle) 26/05/2011 - 11:06:31
Re: Помогите написать select скрипт (Akina) 26/05/2011 - 11:15:23
Re: Помогите написать select скрипт (Juggle) 26/05/2011 - 11:35:07
Re: Помогите написать select скрипт (Juggle) 26/05/2011 - 12:02:26
Re: Помогите написать select скрипт (Akina) 26/05/2011 - 14:09:38
Re: Помогите написать select скрипт (Juggle) 26/05/2011 - 15:07:09
Re: Помогите написать select скрипт (Akina) 26/05/2011 - 16:17:41
Re: Помогите написать select скрипт (Juggle) 26/05/2011 - 17:20:37
Re: Помогите написать select скрипт (Akina) 26/05/2011 - 17:39:18
Re: Помогите написать select скрипт (Juggle) 26/05/2011 - 18:16:02
Re: Ахринеть! (Akina) 26/05/2011 - 18:52:25
Re: А вот и нет! (Juggle) 27/05/2011 - 10:03:19
Re: Помогите написать select скрипт (Akina) 27/05/2011 - 10:50:52
Re: Спасибо! (Juggle) 27/05/2011 - 13:44:35
Re: Спасибо! (Akina) 29/05/2011 - 22:16:01
Re: Ссылки? :) (Juggle) 30/05/2011 - 11:26:42
Re: Ссылки? :) (Akina) 30/05/2011 - 13:05:12
Re: Еще раз спасибо! (Juggle) 30/05/2011 - 13:20:51
> Original message text:
> From: Juggle - 25/05/2011 - 17:47:12
> Subject:Помогите написать select скрипт
> -----------------
> Здравствуйте, форумчане!
> Помогите мне написать select скрипт. Для меня сложность в нем заключается в следующем:
> есть 2 таблицы: Table1 и Table2.
> Table1 содержит столбцы: column1/2, и др.
> Table2 содержит столбцы: column1/2., column2, column3
>
> Задача заключается в следующем. Надо выбрать такие строки из Table2, у которых
> ( column2 = A и column3 = В )+ ( column2 = С и column3 = D )
> и вывести в конечном счете Table1.column1/2
>
> Мой вариант:
> select Table1.column1/2 from Table1 t1
> inner join Table2 t2 on t2.column1/2= t1.column1/2
> where (t2.column2 = A and t2.column3 = В) or (t2.column2 = C and t2.column3 = D)
> Но он не совсем то выводит. Где ошибка?
>
>
From: Akina - 27/05/2011 - 10:50:52
Subject:Помогите написать select скрипт
-----------------
Цитата лога консоли:
==================================
Logging to file 'd:\MySQL Datafiles\MySQL_tee.txt'
Enter password: *******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.8 MySQL Community Server (GPL)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use test
Database changed
mysql> create table objects (
-> object_id integer
-> );
Query OK, 0 rows affected (0.11 sec)
mysql> create table params (
-> object_id integer,
-> attr_id integer,
-> list_value_id integer
-> );
Query OK, 0 rows affected (0.05 sec)
mysql> explain
-> SELECT DISTINCT o.*
-> FROM objects o
-> INNER JOIN params p
-> ON o.object_id = p.object_id
-> WHERE
-> (
-> (
-> (p.attr_id = 53395)
-> AND
-> (p.list_value_id <> 13053394)
-> )
-> OR
-> (
-> (p.attr_id = 3049477)
-> AND
-> (p.list_value_id = 13049474)
-> )
-> )
-> GROUP BY o.object_id
-> HAVING COUNT(DISTINCT p.object_id, p.attr_id, p.list_value_id)=2
-> LIMIT 30;
+----+-------------+-------+------+---------------+------+---------+------+------+-----------------------------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+------+---------------+------+---------+------+------+-----------------------------------------------------+
| 1 | SIMPLE | NULL | NULL | NULL | NULL | NULL | NULL | NULL | Impossible WHERE noticed after reading const tables |
+----+-------------+-------+------+---------------+------+---------+------+------+-----------------------------------------------------+
1 row in set (0.03 sec)
==================================
Запрос - корректный. С точки зрения MySQL. А если убрать LIMIT - то и с точки зрения SQL92. Так что переписывайте запрос с учётом особенностей синтаксиса Оракла.
Если не получается - выпрямляйте руки.
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
38565
|
|