|
|
|
| Здравствуйте, уважаемые программисты. Подскажите пожалуйста, как более оптимально реализовать следующую задачку.
У меня имеется таблица `Игры` и таблица `Ставки`.
В таблице `Игры` следующие поля: `ID игры`, `Создатель ID`, ...
В таблице `Ставки` такие: `ID ставки`, `ID игры`, `Клиент ID`, ...
У меня в таблице `Игры` очень очень много строк.
Мне необходимо составить запрос, при помощи которого получить все поля таблицы `Игры`, у которых в таблице `Ставки` есть `Клиент ID` равный 50.
Само собой между двумя таблицами существует взаимосвязь по полю `ID игры`.
Пожалуйста, помогите правильно составить SQL запрос, при помощи которого можно это самое оптимально сделать. Буду очень признателен | |
|
|
|
|
|
|
|
для: pavluxa09
(06.06.2012 в 20:23)
| | В самом простом варианте можно воспользоваться запросом вида
SELECT * FROM `Игры`
WHERE `ID игры` IN
(SELECT `ID игры` FROM `Ставки` WHERE `Клиент ID` = 50)
|
| |
|
|
|
|
|
|
|
для: cheops
(06.06.2012 в 21:02)
| | А что это за оператор IN? | |
|
|
|
|
|
|
|
для: pavluxa09
(07.06.2012 в 16:37)
| | Он позволяет проверить входит ли значение в список, например,
SELECT * FROM `Игры`
WHERE `ID игры` IN (1, 3, 5, 9, 12, 34)
|
В примере выше такой список формируется вложенным запросом. | |
|
|
|
|
|
|
|
для: cheops
(07.06.2012 в 16:48)
| | Понял, спасибо большое! | |
|
|
|