RV: independent tables

------=_NextPart_000_003B_01CC0A7C.5E66CE40
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_003C_01CC0A7C.5E66F550"


------=_NextPart_001_003C_01CC0A7C.5E66F550
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

The databas estructure:



mysql> describe user;

+------------------------+-------------+------+-----+------- --+----------=
---
---+

| Field | Type | Null | Key | Default | Extra
|

+------------------------+-------------+------+-----+------- --+----------=
---
---+

| userID | int(11) | NO | PRI | NULL |
auto_increment |

| userName | varchar(20) | YES | | NULL |
|

| userCodeDrivingLicense | varchar(20) | YES | | NULL |
|

+------------------------+-------------+------+-----+------- --+----------=
---
---+

3 rows in set (0.00 sec)



mysql> describe client;

+--------------------------+-------------+------+-----+----- ----+--------=
---
-----+

| Field | Type | Null | Key | Default | Extra
|

+--------------------------+-------------+------+-----+----- ----+--------=
---
-----+

| clientID | int(11) | NO | PRI | NULL |
auto_increment |

| clientName | varchar(20) | YES | | NULL |
|

| clientCodeDrivingLicense | varchar(20) | YES | | NULL |
|

+--------------------------+-------------+------+-----+----- ----+--------=
---
-----+

3 rows in set (0.00 sec)



Roc=EDo G=F3mez Escribano

<mailto:r.sanchez [at] ingenia-soluciones.com> =
r.gomez [at] ingenia-soluciones.com



Descripci=F3n: cid:image002.jpg [at] 01CB8CB6.ADEBA830

Pol=EDgono Campollano C/F, n=BA21T

02007 Albacete (Espa=F1a)

Tlf:967-504-513 Fax: 967-504-513

www.ingenia-soluciones.com



De: Rocio Gomez Escribano [mailto:r.gomez [at] ingenia-soluciones.com]
Enviado el: martes, 03 de mayo de 2011 8:09
Para: mysql [at] lists.mysql.com
Asunto: independent tables



Everyone has his/her own driving license, and I need to know what kind =
of
=93person=94 (client or user) is.





mysql> select userID, clientID from client, user where
(clientCodeDrivingLicense=3D 321321321 || userCodeDrivingLicense =3D =
321321321);

+--------+-------+

| userID | clientID |

+--------+-------+

| 1 | 2 |

| 2 | 2 |

| 3 | 2 |

| 4 | 2 |

| 5 | 2 |

+--------+-------+

5 rows in set (0.00 sec)



But, what I want is something like that:



+--------+-------+

| userID | clientID |

+--------+-------+

| Null | 2 |

+--------+-------+



I tried something like this:



select COUNT(DISTINCT u.userID), userID, clientID from client, user =
where
(clientCodeDrivingLicense =3D 321321321 || userCodeDrivingLicense =3D
321321321);

+--------------------------+--------+-------+

| COUNT(DISTINCT u.userID) | userID | clientID |

+--------------------------+--------+-------+

| 5 | 1 | 2 |

+--------------------------+--------+-------+

1 row in set (0.00 sec)



But it wont be efficient enough in the future.



I suppose my solution is an Join, but they have no intersection, so, I =
cant
imagine how do it



Thank you!!



Regards











Roc=EDo G=F3mez Escribano

<mailto:r.sanchez [at] ingenia-soluciones.com> =
r.gomez [at] ingenia-soluciones.com



Descripci=F3n: cid:image002.jpg [at] 01CB8CB6.ADEBA830

Pol=EDgono Campollano C/F, n=BA21T

02007 Albacete (Espa=F1a)

Tlf:967-504-513 Fax: 967-504-513

www.ingenia-soluciones.com




------=_NextPart_001_003C_01CC0A7C.5E66F550
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">
<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:x=3D"urn:schemas-microsoft-com:office:excel" =
xmlns:p=3D"urn:schemas-microsoft-com:office:powerpoint" =
xmlns:a=3D"urn:schemas-microsoft-com:office:access" =
xmlns:dt=3D"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" =
xmlns:s=3D"uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" =
xmlns:rs=3D"urn:schemas-microsoft-com:rowset" xmlns:z=3D"#RowsetSchema" =
xmlns:b=3D"urn:schemas-microsoft-com:office:publisher" =
xmlns:ss=3D"urn:schemas-microsoft-com:office:spreadsheet" =
xmlns:c=3D"urn:schemas-microsoft-com:office:component:spread sheet" =
xmlns:odc=3D"urn:schemas-microsoft-com:office:odc" =
xmlns:oa=3D"urn:schemas-microsoft-com:office:activation" =
xmlns:html=3D"http://www.w3.org/TR/REC-html40" =
xmlns:q=3D"http://schemas.xmlsoap.org/soap/envelope/" =
xmlns:rtc=3D"http://microsoft.com/officenet/conferencing" =
xmlns:D=3D"DAV:" xmlns:Repl=3D"http://schemas.microsoft.com/repl/" =
xmlns:mt=3D"http://schemas.microsoft.com/sharepoint/soap/mee tings/" =
xmlns:x2=3D"http://schemas.microsoft.com/office/excel/2003/x ml" =
xmlns:ppda=3D"http://www.passport.com/NameSpace.xsd" =
xmlns:ois=3D"http://schemas.microsoft.com/sharepoint/soap/oi s/" =
xmlns:dir=3D"http://schemas.microsoft.com/sharepoint/soap/di rectory/" =
xmlns:ds=3D"http://www.w3.org/2000/09/xmldsig#" =
xmlns:dsp=3D"http://schemas.microsoft.com/sharepoint/dsp" =
xmlns:udc=3D"http://schemas.microsoft.com/data/udc" =
xmlns:xsd=3D"http://www.w3.org/2001/XMLSchema" =
xmlns:sub=3D"http://schemas.microsoft.com/sharepoint/soap/20 02/1/alerts/"=
xmlns:ec=3D"http://www.w3.org/2001/04/xmlenc#" =
xmlns:sp=3D"http://schemas.microsoft.com/sharepoint/" =
xmlns:sps=3D"http://schemas.microsoft.com/sharepoint/soap/" =
xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance" =
xmlns:udcs=3D"http://schemas.microsoft.com/data/udc/soap" =
xmlns:udcxf=3D"http://schemas.microsoft.com/data/udc/xmlfile " =
xmlns:udcp2p=3D"http://schemas.microsoft.com/data/udc/partto part" =
xmlns:wf=3D"http://schemas.microsoft.com/sharepoint/soap/wor kflow/" =
xmlns:dsss=3D"http://schemas.microsoft.com/office/2006/digsi g-setup" =
xmlns:dssi=3D"http://schemas.microsoft.com/office/2006/digsi g" =
xmlns:mdssi=3D"http://schemas.openxmlformats.org/package/200 6/digital-sig=
nature" =
xmlns:mver=3D"http://schemas.openxmlformats.org/markup-compa tibility/2006=
" xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns:mrels=3D"http://schemas.openxmlformats.org/package/200 6/relationshi=
ps" xmlns:spwp=3D"http://microsoft.com/sharepoint/webpartpages" =
xmlns:ex12t=3D"http://schemas.microsoft.com/exchange/service s/2006/types"=
=
xmlns:ex12m=3D"http://schemas.microsoft.com/exchange/service s/2006/messag=
es" =
xmlns:pptsl=3D"http://schemas.microsoft.com/sharepoint/soap/ SlideLibrary/=
" =
xmlns:spsl=3D"http://microsoft.com/webservices/SharePointPor talServer/Pub=
lishedLinksService" xmlns:Z=3D"urn:schemas-microsoft-com:" =
xmlns:st=3D"" xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta =
name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)"><!--[if =
!mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
..shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
[at] font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
[at] font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
[at] font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{mso-style-priority:99;
mso-style-link:"Texto de globo Car";
margin:0cm;
margin-bottom:.0001pt;
font-size:8.0pt;
font-family:"Tahoma","sans-serif";}
span.TextodegloboCar
{mso-style-name:"Texto de globo Car";
mso-style-priority:99;
mso-style-link:"Texto de globo";
font-family:"Tahoma","sans-serif";}
span.EstiloCorreo19
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.EstiloCorreo20
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
..MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
[at] page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"3074" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DES link=3Dblue =
vlink=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><a =
name=3D"_MailEndCompose"><span style=3D'color:#1F497D'>The databas =
estructure:<o:p></o:p></span></a></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p> </o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>mysql> describe =
user;<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'>+------------------------+---------- ---+------+--=
---+---------+----------------+<o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>| =
Field=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 | =
Type=A0=A0=A0=A0=A0=A0=A0 | Null | Key | Default | =
Extra=A0=A0=A0=A0=A0=A0=A0=A0=A0 |<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'>+------------------------+---------- ---+------+--=
---+---------+----------------+<o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>| =
userID=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 | =
int(11)=A0=A0=A0=A0 | NO=A0=A0 | PRI | NULL=A0=A0=A0 | auto_increment =
|<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'>| =
userName=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 | varchar(20) | =
YES=A0 |=A0=A0=A0=A0 | NULL=A0=A0=A0 =
|=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |<o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>| userCodeDrivingLicense =
| varchar(20) | YES=A0 |=A0=A0=A0=A0 | NULL=A0=A0=A0 =
|=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'>+------------------------+---------- ---+------+--=
---+---------+----------------+<o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>3 rows in set (0.00 =
sec)<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p> </o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>mysql> describe =
client;<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'>+--------------------------+-------- -----+------+=
-----+---------+----------------+<o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>| =
Field=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= A0 | =
Type=A0=A0=A0=A0=A0=A0=A0 | Null | Key | Default | =
Extra=A0=A0=A0=A0=A0=A0=A0=A0=A0 |<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#1F497D'>+--------------------------+-------- -----+------+=
-----+---------+----------------+<o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>| =
clientID=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 | =
int(11)=A0=A0=A0=A0 | NO=A0=A0 | PRI | NULL=A0=A0=A0 | auto_increment =
|<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'>| =
clientName=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 | varchar(20) | =
YES=A0 |=A0=A0=A0=A0 | NULL=A0=A0=A0 =
|=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |<o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>| =
clientCodeDrivingLicense | varchar(20) | YES=A0 |=A0=A0=A0=A0 | =
NULL=A0=A0=A0 |=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =
|<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'>+--------------------------+-------- -----+------+=
-----+---------+----------------+<o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>3 rows in set (0.00 =
sec)<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p> </o:p></span></p><div><p =
class=3DMsoNormal><b><span lang=3DES-PE =
style=3D'font-size:10.0pt;color:#0070C0'>Roc=EDo G=F3mez =
Escribano<o:p></o:p></span></b></p><p class=3DMsoNormal><a =
href=3D"mailto:r.sanchez [at] ingenia-soluciones.com"><span lang=3DES-PE =
style=3D'font-size:10.0pt'>r.gomez [at] ingenia-soluciones.com</span></a><span=
lang=3DES-PE =
style=3D'font-size:10.0pt;color:#9D9D9D'><o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:blue'><o:p> </o:p></span></p><p =
class=3DMsoNormal><span style=3D'font-size:9.0pt;color:#9D9D9D'><img =
border=3D0 width=3D181 height=3D74 id=3D"_x0000_i1026" =
src=3D"cid:image001.jpg [at] 01CC0A7C.5D7123A0" alt=3D"Descripci=F3n: =
cid:image002.jpg [at] 01CB8CB6.ADEBA830"></span><span =
style=3D'font-size:12.0pt;color:blue'><o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'font-size:10.0pt;color:#A6A6A6'>Pol=EDgono Campollano C/F, =
n=BA21T</span><span =
style=3D'font-size:10.0pt;color:blue'><o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'font-size:10.0pt;color:#9D9D9D'>02007 =
Albacete (Espa=F1a)<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-GB =
style=3D'font-size:10.0pt;color:#9D9D9D'>Tlf:967-504-513  Fax: =
967-504-513<o:p></o:p></span></p><p class=3DMsoNormal><a =
href=3D"www.ingenia-soluciones.com" =
title=3D"blocked::www.ingenia-soluciones.com"><span lang=3DEN-GB =
style=3D'font-size:10.0pt;color:#9D9D9D'>www.ingenia-solucio nes.com</span=
></a><span lang=3DEN-GB =
style=3D'font-size:10.0pt;color:#A6A6A6'><o:p></o:p></span></p></div><p =
class=3DMsoNormal><span lang=3DEN-US =
style=3D'color:#1F497D'><o:p> </o:p></span></p><div><div =
style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm =
0cm 0cm'><p class=3DMsoNormal><b><span =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"' >De:</span></=
b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> =
Rocio Gomez Escribano [mailto:r.gomez [at] ingenia-soluciones.com] =
<br><b>Enviado el:</b> martes, 03 de mayo de 2011 8:09<br><b>Para:</b> =
mysql [at] lists.mysql.com<br><b>Asunto:</b> independent =
tables<o:p></o:p></span></p></div></div><p =
class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal><span =
lang=3DEN-US>Everyone has his/her own driving license, and I need to =
know what kind of “person” (client or user) =
is.<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p> </o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p> </o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>mysql> select userID, clientID from client, user where =
(clientCodeDrivingLicense=3D 321321321 || userCodeDrivingLicense =3D =
321321321);<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>+--------+-------+<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>| userID | clientID =
|<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>+--------+-------+<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>|      1 =
|     2 |<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>|      2 =
|     2 |<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>|      3 =
|     2 |<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>|      4 =
|     2 |<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>|      5 =
|     2 |<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
lang=3DEN-US>+--------+-------+<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>5 rows in set (0.00 =
sec)<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p> </o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>But, what I want is something like =
that:<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p> </o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>     =
+--------+-------+<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>     | userID | clientID =
|<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>    =
 +--------+-------+<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>     |      =
Null |     2 |<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>    =
 +--------+-------+<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p> </o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>I tried something like this:<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US><o:p> </o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>select COUNT(DISTINCT u.userID), =
userID, clientID from client, user  where (clientCodeDrivingLicense =
=3D 321321321 || userCodeDrivingLicense =3D =
321321321);<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>+--------------------------+--------+-------+<o:p></o:p></sp=
an></p><p class=3DMsoNormal><span lang=3DEN-US>| COUNT(DISTINCT =
u.userID) | userID | clientID |<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
lang=3DEN-US>+--------------------------+--------+-------+<o:p></o:p></sp=
an></p><p class=3DMsoNormal><span =
lang=3DEN-US>|          =
;            =
  5 |      1 |     2 =
|<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>+--------------------------+--------+-------+<o:p></o:p></sp=
an></p><p class=3DMsoNormal><span lang=3DEN-US>1 row in set (0.00 =
sec)<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p> </o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>But it wont be efficient enough in the =
future.<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p> </o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>I suppose my solution is an Join, but they have no =
intersection, so, I cant imagine how do it<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US><o:p> </o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>Thank you!!<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US><o:p> </o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>Regards<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US><o:p> </o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US><o:p> </o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US><o:p> </o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US><o:p> </o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US><o:p> </o:p></span></p><p =
class=3DMsoNormal><b><span lang=3DEN-US =
style=3D'font-size:10.0pt;color:#0070C0'>Roc=EDo G=F3mez =
Escribano<o:p></o:p></span></b></p><p class=3DMsoNormal><span =
lang=3DES-PE style=3D'font-size:10.0pt;color:#9D9D9D'><a =
href=3D"mailto:r.sanchez [at] ingenia-soluciones.com"><span =
lang=3DEN-US>r.gomez [at] ingenia-soluciones.com</span></a></span><span =
lang=3DEN-US =
style=3D'font-size:10.0pt;color:#9D9D9D'><o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US =
style=3D'color:blue'><o:p> </o:p></span></p><p =
class=3DMsoNormal><span style=3D'font-size:9.0pt;color:#9D9D9D'><img =
border=3D0 width=3D181 height=3D74 id=3D"Imagen_x0020_1" =
src=3D"cid:image001.jpg [at] 01CC08F1.3AC45E30" alt=3D"Descripci=F3n: =
cid:image002.jpg [at] 01CB8CB6.ADEBA830"></span><span =
style=3D'font-size:12.0pt;color:blue'><o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'font-size:10.0pt;color:#A6A6A6'>Pol=EDgono Campollano C/F, =
n=BA21T</span><span =
style=3D'font-size:10.0pt;color:blue'><o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'font-size:10.0pt;color:#9D9D9D'>02007 =
Albacete (Espa=F1a)<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-GB =
style=3D'font-size:10.0pt;color:#9D9D9D'>Tlf:967-504-513  Fax: =
967-504-513<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:10.0pt;color:#A6A6A6'><a =
href=3D"www.ingenia-soluciones.com" =
title=3D"blocked::www.ingenia-soluciones.com"><span lang=3DEN-GB =
style=3D'color:#9D9D9D'>www.ingenia-soluciones.com</span></a></span><span=
lang=3DEN-GB =
style=3D'font-size:10.0pt;color:#A6A6A6'><o:p></o:p></span></p><p =
class=3DMsoNormal><span =
lang=3DEN-US><o:p> </o:p></span></p></div></body></html>
------=_NextPart_001_003C_01CC0A7C.5E66F550--

------=_NextPart_000_003B_01CC0A7C.5E66CE40--
Rocio Gomez Escribano [ Mi, 04 Mai 2011 16:57 ] [ ID #2059079 ]

Re: RV: independent tables

>>>> 2011/05/04 16:57 +0200, Rocio Gomez Escribano >>>>
I suppose my solution is an Join, but they have no intersection
<<<<<<<<
Really?

Your examples are very much like a simple join, a special case of

.... client OUTER JOIN user ON clientCodeDrivingLicense = userCodeDrivingLicense

What is wrong with that? (although actually MySQL does not do full outer joining. It is needful to get that through a union of left join and right join, care taken that the inner join in only one of them appear.)

Actually, your tables "client" and "user" look like the same table with field names changed, no other difference. Field names have nothing to do with intersection.


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql?unsub=gcdmg-mysql-2 [at] m.gmane.org
(Halász Sándor) hsv [ Mi, 04 Mai 2011 22:43 ] [ ID #2059120 ]

RE: RV: independent tables

Tables "client" an "user" are quite similar, but they don't have any
intersection, I mean, if somebody is a client, he or she cant be a user. =
So,
I have his or her driving license and I need to know what kind of person =
is.

Im trying some join left, right, but I'm unable to get it!!

Roc=EDo G=F3mez Escribano
r.gomez [at] ingenia-soluciones.com


Pol=EDgono Campollano C/F, n=BA21T
02007 Albacete (Espa=F1a)
Tlf:967-504-513=A0 Fax: 967-504-513
www.ingenia-soluciones.com

-----Mensaje original-----
De: Hal=E1sz S=E1ndor [mailto:hsv [at] tbbs.net]
Enviado el: mi=E9rcoles, 04 de mayo de 2011 22:43
Para: Rocio Gomez Escribano
CC: mysql [at] lists.mysql.com
Asunto: Re: RV: independent tables

>>>> 2011/05/04 16:57 +0200, Rocio Gomez Escribano >>>>
I suppose my solution is an Join, but they have no intersection
<<<<<<<<
Really?

Your examples are very much like a simple join, a special case of

.... client OUTER JOIN user ON clientCodeDrivingLicense =3D
userCodeDrivingLicense

What is wrong with that? (although actually MySQL does not do full outer
joining. It is needful to get that through a union of left join and =
right
join, care taken that the inner join in only one of them appear.)

Actually, your tables "client" and "user" look like the same table with
field names changed, no other difference. Field names have nothing to do
with intersection.




--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql?unsub=3Dgcdmg-mysql-2 [at] m.gmane.o rg
Rocio Gomez Escribano [ Fr, 06 Mai 2011 10:00 ] [ ID #2059204 ]

RE: RV: independent tables

On Fri, 2011-05-06 at 09:00 +0100, Rocio Gomez Escribano wrote:
> Tables "client" an "user" are quite similar, but they don't have any
> intersection, I mean, if somebody is a client, he or she cant be a user. So,
> I have his or her driving license and I need to know what kind of person is.
>
> Im trying some join left, right, but I'm unable to get it!!
>

OK, a couple of questions:

Are you absolutely sure the two sets of people are mutually exclusive?
Why use two separate "user" and "client" tables rather than one "person"
table with a typeId which foreign keys on to a personType table? Is the
output of two columns named PersonType,PersonId acceptable for this
query?

Assuming your design is correct as it stands or fixed in its current
state you can achieve what you want with a join.

select null as userID, clientID
from client
where clientCodeDrivingLicense = 321321321
UNION
select userId, null as clientID
from user
where userCodeDrivingLicense = 321321321

With regard to the performance of this system over time I'd suggest you
want a unique index on the DrivingLicense column/columns.

Hope that helps,

Nigel




--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql?unsub=gcdmg-mysql-2 [at] m.gmane.org
nwood [ Fr, 06 Mai 2011 10:34 ] [ ID #2059205 ]

Re: RV: independent tables

--000e0cd4bbb005be0604a2987db7
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Why not just use a union ?

select userID,NULL as clientID from user where userCodeDrivingLicense =3D
'321321321' union select NULL as userID,clientID from client where
clientCodeDrivingLicense =3D '321321321';



2011/5/6 Rocio Gomez Escribano <r.gomez [at] ingenia-soluciones.com>

> Tables "client" an "user" are quite similar, but they don't have any
> intersection, I mean, if somebody is a client, he or she cant be a user.
> So,
> I have his or her driving license and I need to know what kind of person
> is.
>
> Im trying some join left, right, but I'm unable to get it!!
>
> Roc=EDo G=F3mez Escribano
> r.gomez [at] ingenia-soluciones.com
>
>
> Pol=EDgono Campollano C/F, n=BA21T
> 02007 Albacete (Espa=F1a)
> Tlf:967-504-513 Fax: 967-504-513
> www.ingenia-soluciones.com
>
> -----Mensaje original-----
> De: Hal=E1sz S=E1ndor [mailto:hsv [at] tbbs.net]
> Enviado el: mi=E9rcoles, 04 de mayo de 2011 22:43
> Para: Rocio Gomez Escribano
> CC: mysql [at] lists.mysql.com
> Asunto: Re: RV: independent tables
>
> >>>> 2011/05/04 16:57 +0200, Rocio Gomez Escribano >>>>
> I suppose my solution is an Join, but they have no intersection
> <<<<<<<<
> Really?
>
> Your examples are very much like a simple join, a special case of
>
> ... client OUTER JOIN user ON clientCodeDrivingLicense =3D
> userCodeDrivingLicense
>
> What is wrong with that? (although actually MySQL does not do full outer
> joining. It is needful to get that through a union of left join and right
> join, care taken that the inner join in only one of them appear.)
>
> Actually, your tables "client" and "user" look like the same table with
> field names changed, no other difference. Field names have nothing to do
> with intersection.
>
>
>
>
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe: http://lists.mysql.com/mysql?unsub=3Dpchapman [at] nc.rr.co=
m
>
>


--
Distributed Computing stats
http://stats.free-dc.org

--000e0cd4bbb005be0604a2987db7--
Phil [ Fr, 06 Mai 2011 11:55 ] [ ID #2059206 ]

RE: RV: independent tables

>>>> 2011/05/06 10:00 +0200, Rocio Gomez Escribano >>>>
Tables "client" an "user" are quite similar, but they don't have any
intersection, I mean, if somebody is a client, he or she cant be a user. So,
I have his or her driving license and I need to know what kind of person is.
<<<<<<<<
Two others already have said it, that a union seems the real solution, and here is another variation:

SELECT 'user' AS kind, userID AS ID, userName AS Name, userCodeDrivingLicense AS DrivingLicense FROM user
UNION
SELECT 'client' AS kind, client.* FROM client

It is also good to make a view out of it (or the other schemes, if they better suit). Then from the view, call it "uc", one does

SELECT * FROM uc WHERE DrivingLicense = 321321321

and, whichever the scheme, sees by the outcome which table matched.

But if, as already said, the tables "client" and "user" are made one, with a distinguishing field, there is one distinct advantage, that if "DrivingLicense" is made unique the notion that noöne is both user and client is enforced. With two separate tables there is nothing to keep someone from entering the same "DrivingLicense" in both tables.


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/mysql?unsub=gcdmg-mysql-2 [at] m.gmane.org
(Halász Sándor) hsv [ Sa, 07 Mai 2011 00:26 ] [ ID #2059249 ]
Datenbanken » gmane.comp.db.mysql.general » RV: independent tables

Vorheriges Thema: Input needed...
Nächstes Thema: non-interactive installation of mysql