2015-06-02 4 views
-2

У меня проблема с MySQL. У меня есть 2 таблицы:MYSQL - выберите id из A где (...) И id из B = 1

Таблица A

id | txt 
1 | abc 
2 | bcd 
3 | cde 

ТАБЛИЦА B

id | accept 
1 | 1 
2 | 0 
3 | 1 

Я хочу, чтобы отобразить txt (из таблицы А) только если связанной записи (то же id) accept=1 (из таблицы B).

Я могу сделать это, установив 2 MySQL-запроса, но я хотел бы сделать это одним запросом MySQL.

+1

Это не совсем понятно, что вы пытаетесь сделать. Вы хотите, чтобы вы выбрали только те записи из таблицы A, которые имеют 'accept = 1' в таблице B? – martynasma

+1

Между этими таблицами нет никакой связи. Могли бы вы объяснить? – Beginner

+0

Martynasma: Да, точно. Таким образом, результат должен быть: «abc» и «cde». – AoW

ответ

0

Основываясь на ваш комментарий:

SELECT txt 
FROM A 
    LEFT JOIN B 
    ON A.id=B.id 
WHERE B.accept = 1 
0
SELECT A.txt 
FROM A INNER JOIN B ON A.id = B.id 
WHERE B.accept= 1 
+0

Если 'A.id = B.id', то вы можете также забыть о соединении и сделать' select txt from A где id = 1'. То есть. пока собеседник не определит отношение, вопрос не имеет смысла. – Richard

+0

Ричард: «id» - id_user. Поэтому я хочу отображать только txt от пользователей, которые приняли (= 1). – AoW

+0

@AoW Ваш неотредактированный вопрос говорит что-то другое. Возможно, вы хотите изменить свой вопрос, чтобы отразить ваши потребности ... – glglgl

Смежные вопросы