[MySQL] über einen index verknüpfen

  • hiho

    ich habe jetzt schon eine Weile geforscht aber irgendwie machts nicht "klick" bei mir.
    Ich hoffe Ihr könnt mir mit einem kleinen Beispiel aushelfen.

    Es gibt also eine Tabelle usr und dort befindet sich das feld ship_id.
    In der Tabelle ships befindet sich ein Feld shields und ein index, der die ship_id in der Tabelle usr ist.

    In der Abfrage soll nun über die usr id die ship_id ausgelesen werden und darüber dann das Feld shields.

    LG Rick

    Win·dows
    Noun.
    A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition.

  • Ungetestet: select a.ship_id, b.shields, b.id from usr as a, ships as b where b.id = a.ship_id

  • Thx

    ich habe noch einen Freund befragt und er hat mir jetzt folgende Lösung vorgeschlagen:

    SQL
    SELECT * FROM `schiffs` INNER JOIN `user` ON `schiffs`.`ID`=`usr`.`SchiffsID` WHERE `user`.`ID`='0001'

    Win·dows
    Noun.
    A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition.

  • und wiso so rum?

    so macht es mehr sinn.
    SELECT * FROM `user` INNER JOIN `schiffs` ON `schiffs`.`ID`=`usr`.`SchiffsID` WHERE `user`.`ID`='0001'

    obwohl das durch dne internen query optimizer des sql server`s relativ egal sein dürfte...

    da ja beides über die pk`s gesucht werden dürfte.