Mysql select

3 отговора 324 прегледа
#1

Mysql select

Значи така:
select t1.name, t2.widname from t1, t2 where t1.idwid=t2.idwid
добре, ще ми изкара само редовете със съвпадения, ама аз искам всички редове от t1, напр.така:
|ябълки |плод |
|тикви | |
|чушки |зеленчук |
|домати |зеленчук |
, нищо че не знам тиквата, какво е, трябва да излезе.
Сигурно е елементарно, ама не го знам.
Благодаря

Отговор
в отговор на нямa знaчeниe #2

Re: Mysql select

Може да го направиш (според мен*) с left joint - с or null.
________
*Малко опит имам с joint - във всичките му аспекти.

Bеer? Mоre?
Плацебото
Отговор
в отговор на нямa знaчeниe #3

Re: Mysql select

Трябва ти нещо като

select t1.name, t2.widname from
t1 LEFT OUTER JOIN t2 ON t1.idwid=t2.idwid

ама не съм сигурен дали този синтаксис се поддържа от mysql и ако да, от кои версии :)

Отговор
в отговор на нямa знaчeниe #4

Re: Mysql select

SELECT t1.name, t2.widname
FROM t1 LEFT JOIN t2
ON (t1.idwid=t2.idwid)

този синтаксис работи поне от 3.22 насам.

От 4.1 нагоре можеш да използваш и

SELECT t1.name,
(SELECT t2.name FROM t2 WHERE t2.idiwd = t1.idwid)
FROM t1;

на мен първия синтаксис ми е по-четлив ама някои предпочитат втория

salle.online.bg/sig
Отговор